【问题标题】:How to copy multiple files according a txt file in python如何根据python中的txt文件复制多个文件
【发布时间】: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


【解决方案1】:
<mp3text.txt xargs -I filename find ./p008 -name filename | xargs -I filepath cp -rf filepath ./result/

如果没有文件系统示例,很难说这是否 100% 有效。

【讨论】:

  • 谢谢。我试过你的方法。但它也没有用。我不知道为什么。
【解决方案2】:

我终于明白了! 剧本没问题。 问题是源目录中的文件扩展名。 在我删除文件扩展名之后。 有效!

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多