我有一个由许多脚本组成的管道。几乎所有脚本都对文件进行读写操作,并且管道中的一些脚本具有冲突的文件格式(它们将读取并尝试对文件执行操作,因为这些文件都具有相同的扩展名并且位于相同的直接)。这些脚本从一个包装器脚本执行,该脚本使用subprocess.Popen以适当的顺序调用它们。例如。:
subprocess.Popen("python file_processing.py " + i + " " + deliminator, shell=True).wait()
。我需要做的是将从该Popen输出的所有文件发送到特定目录(当前目录的子目录)。我试过玩stdout
,但还没有运气。
答案 0 :(得分:0)
如果您无法更改输出文件名,例如,将它们作为参数传递给子进程,或者将输出目录指定为参数,则尝试在不同的目录中运行子进程:
from subprocess import check_call
check_call(args, cwd="subdir")
确保args
使用绝对路径,以便找到输入文件。
更好的选择是import the modules and call specific functions with necessary parameters instead。