gpt4 book ai didi

python - 在 cmd 中通过 Python 运行工具不等待

转载 作者:可可西里 更新时间:2023-11-01 10:36:24 26 4
gpt4 key购买 nike

我在 cmd 中通过 Python 运行一个工具。对于给定目录中的每个样本,我希望该工具做一些事情。但是,当我在循环中使用 process = subprocess.Popen(command) 时,命令不会等到它完成,导致一次出现 10 个提示。当我使用 subprocess.Popen(command, stdout=subprocess.PIPE) 时,命令仍然是黑色,我看不到进度,尽管它会等到命令完成。

有没有人知道如何通过 cmd 中的 Python 调用外部工具,它会等到命令完成并且能够显示进度cmd 中的工具?

#main.py
for sample in os.listdir(os.getcwd()):
if ".fastq" in sample and '_R1_' in sample and "Temp" not in sample:
print time.strftime("%H:%M:%S")
DNA_Bowtie2.DNA_Bowtie2(os.getcwd()+'\\'+sample+'\\'+sample)

#DNA_Bowtie2.py
# Run Bowtie2 command and wait for process to be finished.
process = subprocess.Popen(command, stdout=subprocess.PIPE)
process.wait()
process.stdout.read()

编辑:command = perl 或 java 命令。通过上述化妆,我看不到工具输出,因为提示符(perl 窗口或 java 窗口)仍然是黑色的。

最佳答案

看起来你的子进程 fork 了,否则 wait() 不可能在进程完成之前返回。

关于python - 在 cmd 中通过 Python 运行工具不等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24161002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com