将文件从 Popen 重定向到子目录

Redirect files from Popen to subdirectory

我有一个由多个脚本组成的管道。几乎所有脚本都读取和写入文件,并且管道中的一些脚本具有冲突的文件格式(它们将读取并尝试对文件执行不应执行的操作,因为文件都具有相同的扩展名并且位于同一个导演)。这些脚本是从一个包装器脚本执行的,该脚本使用 subprocess.Popen 以适当的顺序调用它们。例如。: subprocess.Popen("python file_processing.py " + i + " " + deliminator, shell=True).wait()。我需要做的是将从此 Popen 输出的所有文件发送到特定目录(当前目录的子目录)。我试过 stdout,但还没有成功。

如果您无法更改输出文件名,例如,通过将它们作为参数传递给子进程或通过将输出目录指定为参数,则尝试 运行 不同目录中的子进程:

from subprocess import check_call

check_call(args, cwd="subdir")

确保args使用绝对路径以便找到输入文件。

更好的选择是