【发布时间】:2019-12-21 18:04:37
【问题描述】:
请帮助我。 我正在尝试根据列表将文件从一个目录移动到另一个目录。 文本文件(mp3text.txt)如下所示: p008-002031903 p008-002031906 p008-002031910 每行包含一个没有路径的文件名。另一个目录 (e:\p008) 包含数百个文件 (p008-002031910.spx)。 我试过很多次。它可以运行它的一部分,但不能复制任何东西。非常感谢!
import os
import shutil
destination = 'e:\\result'
with open('c:\\mp3text.txt', 'r',encoding= 'utf-8') as lines:
filenames_to_copy = set(line.rstrip() for line in lines)
for root, _,filenames in os.walk('e:\\p008'):
for filename in filenames:
if filename in filenames_to_copy:
shutil.copy(os.path.join(root, filename), destination)
【问题讨论】:
-
我也尝试过 Linux。有一个错误:(发现:'-name' 缺少参数)。 #!/bin/bash cat ./mp3text.txt | while read line do echo $line find ./p008 -name $line | xargs -i cp -rf {} ./result/完成
标签: python copy shutil os.walk