多次执行python脚本

use*_*296 6 python python-2.7

我不确定执行此操作的最佳方法,但我有一个保存为 .py 的 python 脚本。该脚本的最终输出是两个文件 x1.txt 和 y1.txt。

基本上我想运行这个脚本1000次,每次运行用新名称写入我的两个文本文件,即x1.txt + y1.txt,然后第二次运行x2.txt和y2.txt。

考虑到这一点,似乎最好用类似的东西开始整个脚本

runs=xrange(:999)
for i in runs:

##run the script
Run Code Online (Sandbox Code Playgroud)

然后完成一些事情

    for i in runs:
        filnameA=prefix += "a"+i


open("filnamea.txt", "w").write('\n'.join('\t'.join(x for x in g if x) for g in grouper(7, values)))


    for i in runs:
        filnameB=prefix += "a"+i


open("filnameB.txt", "w").write('\n'.join('\t'.join(x for x in g if x) for g in grouper(7, values)))
Run Code Online (Sandbox Code Playgroud)

这真的是最好的方法吗?我敢打赌这不是......更好的想法?

我知道您可以import time编写一个与时间相关的文件名,但这对于以后的处理来说会很烦人。

Jam*_*man 4

如果您的计算机具有并行运行这些资源的资源,则可以使用multiprocessing它来执行此操作。否则使用循环来顺序执行它们。

你的问题不太明确你被困在哪一部分。您是否只需要有关是否应该使用循环的建议?如果是的话,我的答案就在上面。或者您还需要帮助形成文件名吗?您可以像这样执行该部分:

import sys

def myscript(iteration_number):
    xfile_name = "x%d.txt" % iteration_number
    yfile_name = "y%d.txt" % iteration_number
    with open(xfile_name, "w") as xf:
        with open(yfile_name, "w") as yf:
            ... whatever your script does goes here

def main(unused_command_line_args):
    for i in xrange(1000):
        myscript(i)
    return 0

if __name__ == '__main__':
    sys.exit(main(sys.argv))
Run Code Online (Sandbox Code Playgroud)