0

我是 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”写入任何内容。任何帮助,将一如既往地受到赞赏。

非常感谢

4

1 回答 1

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 行。

于 2013-06-04T13:28:33.463 回答