我有一个小的.exe
文件,它需要一个输入文件(in.txt
)并生成一个输出文件(out.txt
)。我有一个python脚本,我想代替一个批处理文件来调用它,但我发现以下工作均无效:
import subprocess
dir_cwd = Path(r"current/folder")
dir_program = Path(r"path/to/folder/containing/exe")
dir_dest = Path(r"path/where/i/actually/want/to/store/stuff")
# this:
for i in xrange(n):
p = subprocess.Popen([dir_program/"program.exe"])
p.wait()
# or:
subprocess.call([dir_program/'someprog.exe'])
除非我实际上移入文件夹并执行以下操作,否则它似乎无法工作
:import os
import shutil
from pathlib import Path
dir_cwd = Path(r"current/folder")
dir_program = Path(r"path/to/folder/containing/exe")
dir_dest = Path(r"path/where/i/actually/want/to/store/stuff")
os.chdir(dir_dest)
for x in runs_list:
os.system("program.exe")
shutil.move("out.txt", dir_dest/"out.txt")
os.chdir(dir_cwd)
我不想在此脚本期间更改目录。该exe是由旧的fortran
代码编译而成的旧程序,我想知道是否可能是问题所在。有谁知道为什么我不能使用文件夹的某些路径来运行exe文件,而必须在文件夹本身中?