簡體   English   中英

使用shutil.move移動大文件

[英]Moving large files using shutil.move

我已經編寫了將文件從一個文件夾移動到另一個文件夾的代碼。我只移動了名稱在文本文件(aiq.txt)中存在的那些文件。 當文件的數量較少時,例如say(10)會很好用,但是當文件的數量達到500左右時,程序將終止。 每個文件的大小為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