小编wca*_*art的帖子

如何在 Deno 中不使用换行符进行 console.log?

在 Deno 中如何在没有换行符的情况下将新行打印到终端?在node.js中我曾经这样做:

process.stdout.write('hello, deno!')
Run Code Online (Sandbox Code Playgroud)

这在 Deno 中可能吗?Deno 没有该模块,我在https://doc.deno.land/builtin/stableprocess中找不到等效的选项。

node.js deno

11
推荐指数
2
解决办法
3374
查看次数

jinja2 模板中变量的范围

我正在编写基于 jinja2 模板的应用程序。我正在尝试编写一个逻辑来设置变量。

{% set last_item = none %}
{% for u in users %}
  {% if not u.username == user.username%}
    {% if  g.user.is_bestfriend(u) %}
      {% set last_item = 'true' %}
    {% endif %}
  {% endif %}
{% endfor %}

{{last_item}}
Run Code Online (Sandbox Code Playgroud)

但之后{% endfor %}last_item值再次设置为 none,而不是 true。有什么方法可以在 jinja2 模板中将其设置为 true 吗?

scope jinja2 conditional-statements

5
推荐指数
2
解决办法
3904
查看次数

软件和固件有什么区别?

我知道这是一个基本问题,但我有点困惑,无法在Google上找到完整的答案.

我知道差异必须处理一段代码的永久性和可塑性.但是,如何在软件和固件的一组指令之间画线?可以电脑/打印机/等.有软件和固件吗?操作系统有资格作为什么?

在此先感谢,再次抱歉为基本问题.

firmware concept

5
推荐指数
1
解决办法
3301
查看次数

为什么使用通配符时 Bash 条件不对称?

假设我有以下 Bash 片段:

if [[ "$foo" == *"$bar"* ]] ; then
  echo 'condition is true'
fi
Run Code Online (Sandbox Code Playgroud)

在英语中,您可能会用以下代码描述上述代码:ifbarfoothen的子字符串...

但是,为什么当我们切换条件的两边时,我们没有得到相同的结果?

if [[ *"$bar"* == "$foo" ]] ; then
  echo 'condition is true'
fi
Run Code Online (Sandbox Code Playgroud)

也许我对通配符的评估时间有误解?

bash

5
推荐指数
1
解决办法
102
查看次数

如何通过 Deno 中的工作程序将 stdout/stderr 传输到文件?

假设我有以下代码片段来在 Deno 中创建一个工作线程并启动它。

const worker = new Worker("./worker.ts", { type: "module", deno: true });
worker.postMessage({ command: "START" });
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将 stdout/stderr 从工作程序传输到文件,类似于Deno.run工作原理?例如,这样的事情可能吗?

const file = await Deno.open('/path/to/file.log', { write: true });
const worker = new Worker("./worker.ts", {
  type: "module",
  deno: true,
  stdout: file.rid,
  stderr: file.rid
});
worker.postMessage({ command: "START" });
Run Code Online (Sandbox Code Playgroud)

或者,是否可以使用流?

import { WritableStream } from "https://denopkg.com/keroxp/deno-streams/writable_stream.ts"
const stream = new WritableStream<number>({
    write: chunk => {
        ...
    }
})
const worker = new Worker("./worker.ts", {
  type: "module",
  deno: true, …
Run Code Online (Sandbox Code Playgroud)

javascript deno

5
推荐指数
1
解决办法
552
查看次数

如何使用 Homebrew 安装整个目录的文件?

我正在使用 Homebrew 安装脚本,这取决于与脚本位于同一目录中的资源目录。例如:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 directory/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 script.sh\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何创建一个script.sh安装 Homebrew 的目录?我尝试过我的公式:

\n\n
class Script < Formula\n  ...\n  def install\n    bin.install "script.sh"\n    bin.install "directory/"\n  end\nend\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是 和script.shdirectory/安装到/usr/local/Cellar/script/,但仅script.sh安装到/usr/local/bin/

\n\n

我也尝试过替换bin.install "directory/bin.install Dir["directory/"],但没有解决问题。

\n\n

我如何才能从我的公式中script.sh看到directory/,它位于 中/usr/local/Cellar/script/directory/?我可以/usr/local/bin在公式中进行符号链接吗?

\n

installation homebrew

4
推荐指数
1
解决办法
739
查看次数

如何在bash中切换文件输入和终端输入

我正在编写一个bash从文件中读取的脚本。从文件中读取后,我想提示用户输入,并从终端读取它。

这是我的代码的摘录:

while IFS=',' read -r a b c
do
    #a, b, c are read in from file
    data1=$a
    data2=$b
    data3=$c

    #later in the loop
    #answer should be read in from the terminal
    echo "Enter your answer to continue:"
    read answer

done
Run Code Online (Sandbox Code Playgroud)

但是,目前我认为脚本认为我正在尝试从与、和answer相同的输入文件中读入。如何在文件输入和终端输入之间切换?abc

bash shell

3
推荐指数
1
解决办法
278
查看次数

Python中的多线程curses输出

我正在尝试在长期运行的函数的进度条下方实现一个简单的微调器(使用根据此答案改编的代码)。

[########         ] x%
/ Compressing filename
Run Code Online (Sandbox Code Playgroud)

我让压缩和进度条在脚本的主线程中运行,而旋转器在另一个线程中运行,因此它实际上可以在压缩发生时旋转。但是,我curses同时使用进度条和微调器,并且都使用curses.refresh()

有时终端会随机输出乱码,我不知道为什么。我认为这是由于旋转器的多线程性质造成的,因为当我禁用旋转器时,问题就消失了。

这是旋转器的伪代码:

def start(self):
  self.busy = True
  global stdscr 
  stdscr = curses.initscr()
  curses.noecho()
  curses.cbreak()
  threading.Thread(target=self.spinner_task).start()

def spinner_task(self):
  while self.busy:
    stdscr.addstr(1, 0, next(self.spinner_generator))
    time.sleep(self.delay)
    stdscr.refresh()
Run Code Online (Sandbox Code Playgroud)

这是进度条的伪代码:

progress_bar = "\r[{}] {:.0f}%".format("#" * block + " " * (bar_length - block), round(progress * 100, 0))
progress_file = " {} {}".format(s, filename)
stdscr.clrtoeol()
stdscr.addstr(1, 1, "                                                              ")
stdscr.clrtoeol()
stdscr.addstr(0, 0, progress_bar)
stdscr.addstr(1, 1, progress_file)
stdscr.refresh()
Run Code Online (Sandbox Code Playgroud)

并从类似的地方打电话main()

spinner.start()
for each file: …
Run Code Online (Sandbox Code Playgroud)

python curses multithreading

3
推荐指数
1
解决办法
3130
查看次数

是否有等效于 Matlab 的 `contains` 函数的 Octave?

containsOctave 中是否有等效于 MATLAB 的函数?或者,是否有比在 Octave 中编写自己的函数来复制此功能更简单的解决方案?我正在从 MATLAB 切换到 Octave,并contains在整个 MATLAB 脚本中使用。

matlab octave

2
推荐指数
1
解决办法
1796
查看次数

在Python中使用os.stat()结果时如何忽略隐藏文件?

我正在尝试获取os.stat.st_mtime特定目录的最后修改时间()。我的问题是我添加了一些隐藏的元数据文件(它们以开头.)。如果使用,os.stat(directory).st_mtime我得到更新元数据文件的日期,而不是目录中非隐藏文件被修改的日期。我想获取目录中除隐藏元数据文件以外的所有其他文件的最新修改时间。

我认为可以编写自己的函数,大致如下:

for file in folder:
    if not file starts with '.':
        modified_times.append(os.path.getmtime('/path/to/file')
    last_time = most recent of modified_times
Run Code Online (Sandbox Code Playgroud)

但是,是否可以在python中本地执行此操作?还是我需要编写自己的函数,例如上面的伪代码(或类似此问题的东西)?

python python-2.7 python-os

1
推荐指数
1
解决办法
348
查看次数

如何使用Javascript提交Django表单?

我有以下Django形式:

class EmailForm(forms.Form):
    name = forms.CharField(...)
    email = forms.CharField(...)
    message = forms.CharField(...)
Run Code Online (Sandbox Code Playgroud)

然后我将其呈现在HTML中,如下所示:

<div class="controls">
    {% csrf_token %}
    <div class="form-group">
        {{ form.name }}
    </div>
    <div class="form-group">
        {{ form.email }}
    </div>
    <div class="form-group">
        {{ form.message }}
    </div>
    <input type="submit" value="Say hello" onclick="sendEmail(this);">
</div>
Run Code Online (Sandbox Code Playgroud)

我试图在按下提交按钮后将其禁用。这是我的JavaScript函数:

<script>
    function sendEmail(this1)
    {
        var name = document.getElementById("form_name").value;
        var email = document.getElementById("form_email").value;
        var message = document.getElementById("form_message").value;

        var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        var result = re.test(String(email).toLowerCase());

        if (name != "" && result && message != "") {
            this1.disabled=true; 
        } …
Run Code Online (Sandbox Code Playgroud)

javascript django

1
推荐指数
1
解决办法
94
查看次数

在 C 中的 OpenGL 中加载 .obj

我对 OpenGL 比较陌生,正在将它用于需要我将它与 C 一起使用的类(没有 C++)。我想在我的代码中使用 .obj 文件,但不知道如何导入它们。我在网上找到了很多 C++ 的导入器,但必须使用 C。任何人都可以将我引导到导入器或给我一些关于如何编写我自己的/处理和导入 .obj 文件到我的程序的基础知识。谢谢!

c opengl import wavefront .obj

0
推荐指数
1
解决办法
3075
查看次数

在bash中查找可变长度的子字符串

我有一个字符串,比如time=1234,我想在=符号后面只提取数字.然而,该数目可以是在0和100000的范围(例如- ,time=1,time=23,time=99999等等).

我尝试了类似的东西$(string:5:8},但这只适用于一定长度的例子.

如何在=符号后获取所有内容的子串?我宁愿做没有像外界命令cut或者awk,因为我会在可能有也可能没有该功能的设备上运行此脚本.我知道有些例子使用外部函数,但我试图找到一个没有使用它的解决方案.

string bash

0
推荐指数
1
解决办法
401
查看次数