我在blender中有一个python脚本
p1 = subprocess.Popen(os.path.abspath('D:/Test/run-my-script.sh'),shell=True)
p1.wait()
我试着用通勤,但还是没用:
p1 = subprocess.Popen(os.path.abspath('D:/Test/run-my-script.sh'),shell=True).communicate()
此shell脚本在MacOS上非常有效(在更改路径后),并且在使用subprocess.call(['sh','/usera/test/run-my-script.sh'])
时会等待
但是在Windows上,我在Blender中运行下面的python脚本,然后一旦它到达子进程行Git Bash
就会打开并运行shell脚本,而Blender不等待它完成,它只在控制台中打印hello
而不等待Git Bash完成。有人帮忙吗?
import bpy
import subprocess
subprocess.call(os.path.abspath('D:/Test/run-my-script.sh'),shell=True)
print('Hello')
您可以使用subprocess.call
来实现这一点。
subprocess.call(args,*,stdin=none,stdout=none,stderr=none,shell=false,timeout=none)
运行args描述的命令。等待命令完成,然后返回returncode属性。
tempfile
模块在“启动”脚本中生成唯一的、不存在的绝对路径。希望这能说得通。
问题内容: 问题描述 : - 步骤1: 在主线程中从用户那里获取输入FILE_NAME。 步骤2: 对该文件执行10个操作(即,计数字符,计数行等。),所有这10个操作必须位于单独的线程中。这意味着必须有10个子线程。 步骤3: 主线程等待,直到所有那些子线程完成。 步骤4: 打印结果。 我做了什么 :- 我用3个线程做了一个示例代码。 我不希望您遇到文件操作代码。 问题:- 我上面的代码没有给出
问题内容: 因此,我有一些代码等待X发生,然后创建一个线程并执行processEmail。 我正在寻找的是一种代码,即使processEmail在另一个线程中发生,代码也可以继续等待X,但是当前代码只是等待线程完成,然后再等待X再次发生。 编辑:仅供参考,我什么都不需要在下面的代码中进一步输出processEmail.main(),因此不需要我等待其输出。 由Jean提供的答案:移除main之后的
代码: 文件:script.py
我希望能够在后台启动一大批工作,而不使用bash脚本,并继续在同一个内核上工作。这有可能吗?我对架构变化持开放态度,但我的库的最终用户可能不是很复杂。 表示ipython单元 python 3.7。6从JupyterLab内部
如果你想等待 process::Child 完成,就必须调用 Child::wait,这会返回一个 process::ExitStatus。 use std::process::Command; fn main() { let mut child = Command::new("sleep").arg("5").spawn().unwrap(); let _result = chi
问题内容: 我在Ruby中使用它来循环运行一系列命令行命令。然后,我需要在循环外部运行另一个命令。直到循环中的所有命令都终止后,循环外部的命令才能运行。 我如何使程序等待这种情况发生?目前,最终命令运行得太早。 一个例子: 因此,在运行之前所有需要返回的内容。 问题答案: 我认为您需要将循环内调用的结果分配给变量,并继续调用它们,直到所有变量变为真为止。 然后,您知道所有程序都已完成执行,就可以开