У меня есть небольшой .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)
Я не хочу менять каталоги во время этого скрипта. Это старая программа, скомпилированная из старого fortran
кода, и мне интересно, может ли это быть проблемой. Кто-нибудь знает, почему я не могу запустить exe-файл, используя какой-то путь к папке, но вместо этого должен быть в самой папке?