python - 从python执行shell命令

标签 python append subprocess

我正在尝试编译一组行并执行它们并将输出 append 到文本文件。我没有写同样的东西,而是使用 python 脚本在后台编译和执行。

import subprocess
subprocess.call(["ifort","-openmp","mod1.f90","mod2.f90","pgm.f90","-o","op.o"])
subprocess.call(["nohup","./op.o",">","myout.txt","&"])

程序 pgm.f90 正在使用 ifort 编译器编译,但输出没有 append 到 myout.txt。相反,它将输出 append 到 nohup.out,即使在 python 脚本中指定了 "&" 之后,程序也在后台运行。

我在这里犯了什么明显的错误?

提前致谢

最佳答案

您可以通过使用带有参数 shell=TruePopen() 来像在 shell 中一样调用子进程:

subprocess.Popen("nohup ./op.o > myout.txt &", shell=True)

关于python - 从python执行shell命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390630/

相关文章:

python - REGEX - NP++ - 使用一个正则表达式从代码子组中删除填充 0

python - 对于已经定义的列表对象,出现名称错误。应该提供任何可能的帮助,

python - 构造一个 tf.Variable 对象的张量

jQuery 看不到 append 对象上的点击

python : Appending values to existing spreadsheet from updated values

python - 如何通过子进程模块调用 ssh 以便它使用 SSH_ASKPASS 变量

python - 读取文件是否比从数据库读取数据快?

Python:子进程调用无法识别 * 通配符?

Python 子进程安全

java - 无法使用java追加到文件?