简体   繁体   English

使用shutil.move移动大文件

[英]Moving large files using shutil.move

I have written a code for moving files from one folder to another .I moved only those files whose names are present in my text file(aiq.txt). 我已经编写了将文件从一个文件夹移动到另一个文件夹的代码。我只移动了名称在文本文件(aiq.txt)中存在的那些文件。 It works fine when files are less in number say(10) but when number goes to around 500 the program terminates. 当文件的数量较少时,例如say(10)会很好用,但是当文件的数量达到500左右时,程序将终止。 Each file is of 50 Mb Here is my code: 每个文件的大小为50 Mb,这是我的代码:

import os
import shutil
destination=r"dstpath"
with open("aiq.txt") as infile:
    for line in infile:
        line=line.strip('\n)
        for root,dirs,filenames in os.walk(r"H:\test_vectors"):
            for filename in filenames:
                if line in filename:
                    shutil.move(os.path.join(root,filename),destination)
import os
import shutil

root = r"H:\test_vectors"
destination = r"dstpath"

file_list = []
dir_dict = {}

with open('aiq.txt', 'r') as f:
    for line in f:
        file_list.append(line.strip())

for d, dirs, files in os.walk(root):
    if files:
        dir_dict[d] = files

for key, item in dir_dict.items():
    for x in item:
        if x in file_list:
              try:
                  shutil.move(os.path.join(key, x), destination)
              except:
                  pass

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM