运行 通过来自不同目录的子进程的文件

Run file via subprocess from different directory

当我 运行 cleaner.py 我想要它 运行 duplicate.py 并将输出存储在一个变量中。 那么如何通过 subprocess 定位到终端中的目录?我已经尝试使用:

output = subprocess.run('python duplicate.py', cwd = '/files', capture_output = True)

/files是根目录/中指向/files的绝对路径。 您很可能想使用 ./files

除了 mnagel 的相对路径答案之外——我还发现在这种情况下需要将 args 指定为列表。否则子进程抛出 FileNotFoundError 寻找 python ./duplicate.py.

output = subprocess.run(['python', './duplicate.py'], cwd = './files', capture_output = True)