【问题标题】:Redirect files from Popen to subdirectory将文件从 Popen 重定向到子目录
【发布时间】:2015-08-20 12:10:56
【问题描述】:

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

【问题讨论】:

    标签: python redirect subprocess stdout popen


    【解决方案1】:

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

    from subprocess import check_call
    
    check_call(args, cwd="subdir")
    

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

    更好的选择是import the modules and call specific functions with necessary parameters instead

    【讨论】:

    • 谢谢,这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2017-01-29
    • 2021-09-03
    • 2011-01-19
    • 1970-01-01
    相关资源
    最近更新 更多