我是python的新手,并且有一小段代码可以将文件列表读入Windows批处理文件中来执行。问题是,代码是(正确地)每批文件写入700行,这需要一个年龄来处理一台PC。我想打破每个批处理文件,例如每批脚本100行,然后在7台PC上运行每个批处理文件,但是我缺乏python知识会让我受到一些阻碍。我有;
def find_files(directory, pattern):
#directory= (raw_input("Enter a directory to search for Userlists: ")
directory=("c:\\test\\")
os.chdir(directory)
for root, dirs, files in os.walk(directory):
for basename in files:
if fnmatch.fnmatch(basename, pattern):
filename = os.path.join(root, basename)
yield filename
for files in find_files('a-zA-Z0-9','*.btm'):
#print files
lines="call "+files +"\n"
print lines
with open ("c://Extract.bat","a+") as infile:
infile.write(lines)
infile.close
我尝试过使用(islice(f,n))但是它无法向'extract.bat'写入任何内容。任何帮助,都会一如既往地受到赞赏。
非常感谢
答案 0 :(得分:1)
一个非常简单的方法是把它放在你的循环中:
i += 1 # don't forget to initialize it before the loop, though
with open ("c://Extract" + str(i/700) + ".bat","a+") as infile:
为您提供一个新文件名Extract0.bat,Extract1.bat,...每700行。