使用python搜索和移动文件

2024-06-02 13:57:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试编写一些python代码,以便从.txt文件中获取每一行,并在文件夹及其子文件夹中搜索具有该名称的文件。在此之后,我想在一个预设的目标文件夹中移动该文件。你知道吗

我已经尝试了以下代码,这是张贴在堆栈溢出,但它似乎不工作,我无法找出正确的方法有什么问题吗非常感谢您的帮助:

import os
import shutil

def main():
    destination = '/Users/jorjis/Desktop/new'

    with open('/Users/jorjis/Desktop/articles.txt', 'r') as lines:
        filenames_to_copy = set(line.rstrip() for line in lines)

        for root, _, filenames in os.walk('/Users/jorjis/Desktop/folder/'):
            for filename in filenames:
                if filename in filenames_to_copy:
                    shutil.copy(os.path.join(root, filename), destination)

Tags: 文件代码inimporttxt文件夹foros
1条回答
网友
1楼 · 发布于 2024-06-02 13:57:01

如果没有任何调试输出(您现在已经获得),我只能猜测os.walk的一个常见陷阱:filenames中返回的文件名就是没有任何路径的文件名。如果文件包含的文件名的路径永远不匹配。改用这个:

if os.path.join(root, filename) in filenames_to_copy:
    shutil.copy(os.path.join(root, filename), destination)

相关问题 更多 >