用于执行适用于 Windows 的多个 python 文件的脚本



我有一个python脚本(script.py(,每个输入(input.txt(需要一个文件,每个输出(output.txt(需要一个文件。另外,该脚本需要来自 model.pcl 的其他数据。我通过控制台执行脚本。对于窗口,它看起来像这样:

Type input.txt | python script.py model.pcl output.txt

我想将此脚本应用于 10,000 个文件并将结果保存在单独的 txt 文件中。

我知道如何使用python做到这一点:

import subprocess
for i in range(1, 10001):
e = 'type input_%s.txt | python script.py model.pcl output/output_%s.txt' % (i,i)
subprocess.call(e, shell=True)

但这不是一个理想的解决方案,因为在这种方法中,我无法为输入文件指定文件夹(input/input_%s.txt(。如果我尝试这样做,我会收到一个错误:

the syntax of the command is incorrect.

Windows 机器还有其他选项吗?

这应该从Windows CMD提示符中完成必要的操作:

FOR /L %# IN (1,1,10001) DO @TYPE "C:PathToinput_%#.txt"   | python script.py model.pcl "C:PathTooutput_%#.txt"

我在python中遇到了类似的问题。当我在列表中添加所有项目时,它对我有用。

import subprocess 
for i in range(1, 10001): 
e = ['type input_%s.txt | python script.py model.pcl output/output_%s.txt' % (i,i)]
subprocess.call(e, shell=True)

你能测试一下,让我知道它是否适合你吗?

一个选项与此类似

#Path to all files
path = os.getcwd()
#Puts file names to a variable
files = os.listdir(path)
#Gets just the .txt
txtFiles = glob.glob(path + "/*.txt")

这将允许您在特定文件夹中执行所有.txt文件,理想情况下是放置脚本但可以随意修改的文件夹

最新更新