python - 使用 python 从多个目录复制特定文件

标签 python copy

我对 python 很陌生,并且我被一段我想要实现的代码所困扰。我希望我能在这里找到一些帮助。

我有一个要复制到一个目录中的特定文件列表。我在互联网上阅读了很多建议,但还没有读到对我来说足够具体的内容。

所以,情况是这样的:我在“FROM”文件夹的不同文件夹中有多个图片文件。我只想将我想要的内容复制到目标文件夹“TO”

目前,这是我所掌握的内容(来自 Stackoverflow 上的另一个主题):

src = "/Volumes/MacintoshHD/TEST_SHUTIL/FROM"
dst = "/Volumes/MacintoshHD/TEST_SHUTIL/TO"

file_names = ["120099.TIFF", "901664.TIFF", "902257.TIFF"]

for file_name in file_names:
    full_file_name = os.path.join(src, file_name)
    if (os.path.isfile(full_file_name)):
        shutil.copy(full_file_name, dst)

我想知道是否有一种方法可以像 isfile 一样查找子文件夹内的文件,但无需测试每个文件夹。

我查看了 copytree,但它看起来对我来说不是很有用......

起初,我想创建一个包含文件及其 url 的字典,但它比预期更复杂(出于多种原因),因此最简单的方法是能够在子文件夹中找到这些文件。

许多坦克

巴特。

最佳答案

这将生成一个列表,其中包含源目录的文件名及其子目录的文件名:

file_names = [os.path.join(dp, f) for dp, dn, fn 
                     in os.walk(src_dir) for f in fn]

然后你可以继续你的代码:

for file_name in file_names:
    full_file_name = os.path.join(src, file_name)
    if (os.path.isfile(full_file_name)):
        shutil.copy(full_file_name, dst)

虽然您必须搜索整个目录树,但只需搜索一次。

关于python - 使用 python 从多个目录复制特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859887/

相关文章:

python - 通过管道将 Haskell 程序连接到 Python 程序(在 Python 中)

python - 如何打开包含 Unicode 字符的 html 文件?

html - 无法选择标签内的文本

c++ - 在另一个的 ROI 内复制一个 cv::Mat

c# - 从网络复制整个共享目录

python - 如何在 Django 中正确覆盖用户 admin

python - Docker 错误 - 命令错误 : "0.0.0.0:" is not a valid port number or address:port pair

Groovy 中的 Ant : Copying a single file

python - 为什么 help(lambda) 给出 SyntaxError : invalid syntax

在 C 中复制二维数组