Python将大文件拆分为多个文件

时间:2013-06-04 13:11:13

标签: python batch-file find

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

非常感谢

1 个答案:

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