Python 输出重定向到多个文件

Python 输出重定向到多个文件,python,bash,redirect,Python,Bash,Redirect,我需要为多个输入文件运行python脚本,并为每个文件生成一个新的相应输出文件(例如,对于input_16jun.txt,我希望输出文件为16jun_output.txt)。我试过这样做: nohup python script.py input_{16..22}jun.txt > {16..22}jun_output.txt & 但我不断地遇到“模糊重定向”错误。有人知道如何解决这个问题吗?或者其他更好的方法?像这样使用bash在每个输入文件上循环应该可以工作 for f in

我需要为多个输入文件运行python脚本,并为每个文件生成一个新的相应输出文件(例如,对于input_16jun.txt,我希望输出文件为16jun_output.txt)。我试过这样做:

nohup python script.py input_{16..22}jun.txt > {16..22}jun_output.txt &

但我不断地遇到“模糊重定向”错误。有人知道如何解决这个问题吗?或者其他更好的方法?

像这样使用bash在每个输入文件上循环应该可以工作

for f in input_*.txt; do python script.py $f > "${f:6:-4}"_output.txt; done
或者,如果您想在python脚本中执行循环

import glob
import os

input_files = glob.glob("input_*.txt")

for f in input_files:
    os.system("python script.py {} > {}_output.txt".format(f,f.split("input_")[1].rstrip(".txt")))

如果你想并行地运行Script .Py(而不是顺序地),你也可以考虑使用Python <代码>多进程包。

尝试这个- NoHopyPython Script .py.Putp{{ 16…22 } Jun.txt…Tee{ 16…22 } JunuOuttoP.txt和仍然相同的错误:/刚刚更新。如果看起来只为一个输入文件运行脚本,并在每个输出文件中存储相同的输出,请尝试一下。我认为您的输入和输出文件名在每次迭代中都在更改?tee将覆盖文件中的内容。