我不确定这样做的最佳方法,但我将python脚本保存为.py。该脚本的最终输出是两个文件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
并写一个匹配时间的文件名,但这对以后的处理来说会很烦人。
答案 0 :(得分:2)
如果您的计算机具有并行运行这些资源的资源,则可以使用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))
答案 1 :(得分:0)
我不确定,但也许可以帮忙: 假设我要打印“ hello” 10次,而无需手动编写10次。为此,我可以定义一个函数:
#Function for printing hello 10 times:
def func(x):
x="hello"
i=1
while i<10 :
print(x)
i += 1
else :
print(x)
print(func(1))