多次执行python脚本

2024-04-25 19:26:39 发布

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

我不确定最好的方法,但我有一个保存为.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

然后做些事情

    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)))

这真的是最好的方法吗?我打赌不是…更好的主意?

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


Tags: 方法intxt脚本forprefixifruns
1条回答
网友
1楼 · 发布于 2024-04-25 19:26:39

如果您的计算机有并行运行这些程序的资源,则可以使用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))

相关问题 更多 >

    热门问题