Python使用多个不同的文件运行程序

2024-10-01 05:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我的研究小组要求我针对几个不同的问题运行一系列不同的测试用例。总共有486个不同的文件,每个问题有81个。我对Python知之甚少,到目前为止我所做的只是让它运行一个测试文件。从命令行运行问题求解器的命令如下:

python Solver.py Tests/testName.txt

当然,我不打算一次又一次地输入每个文件的名称,因为那样太长了。我有没有办法对Tests文件夹中的每个文件运行这个命令?这些文件都使用相同的格式命名,其中类似于[original\u filename]\u[Precision][Criteria][投机级别][PreconditionLevel].txt,其中Precision、Criteria、投机级别和PreconditionLevel各有三个可能的值。我最初使用嵌套for循环编写文件,但那是用Java编写的。你知道吗


Tags: 文件命令行py命令txt测试用例小组tests
2条回答

我会为你写一个脚本。你知道吗

import glob
import subprocess as sub

for file in glob.glob("Tests/*.txt"): # or however you want to build the list
    sub.call(["python","Solver.py",file])

好像阿德史密斯的回答全球。全球应该对你有用(在Windows上也是),但这里还有另一件事要尝试。它将通过传递一个文件夹名作为参数来运行:python runner.py Tests

import fnmatch, os, subprocess, sys
folder = sys.argv[1]
for filename in fnmatch.filter(os.listdir(folder), '*.txt'):
    subprocess.call(['python', 'Solver.py', filename])

相关问题 更多 >