我需要使用Python26在Windows 7命令提示符下执行以下简单命令。
cd C:\Python26\main project files\Process
C:\Aster\runtime\waster Analysis.comm
它运行FEM模拟,我手动尝试它并且运行良好。现在,我想使用Python26自动执行写入过程。
我研究了其他问题并发现os.system有效,但事实并非如此。我也看到了子进程模块,但它没有用。
答案 0 :(得分:2)
当前目录是一个进程属性:每个进程都有自己的当前目录。像
这样的一行os.system("cd xyz")
在Windows 7上启动命令解释器(cmd.exe
)并在此子进程中执行cd
命令,不会以任何方式影响调用进程。要更改调用流程的目录,您可以使用os.chdir()
或cwd
关键字参数subprocess.Popen()
。
示例代码:
p = subproces.Popen(["C:/Aster/runtime/waster", "Analysis.comm"],
cwd="C:/Python26/main project files/Process")
p.wait()
(附注:在Python文件的路径名中使用正斜杠。除非确实有必要,否则应避免os.system()
并将shell=True
传递给subprocess
模块中的函数。)