使用python:查找文件并复制到另一个目录

Posted

技术标签:

【中文标题】使用python:查找文件并复制到另一个目录【英文标题】:with python: Find files and copy to another directory 【发布时间】:2021-12-24 09:31:28 【问题描述】:

目录树如下所示:https://i.stack.imgur.com/nS9Vx.png

我的目标是输入会员 ID,程序应该分析所有日子的相关文件(activities.json)并将所有这些文件复制到一个新目录中。我也想重命名复制的文件(1,2,3,4 .....),但出现错误。

通常我不应该得到错误,因为复制的文件将具有不同的名称( 1 、 2 、 3 、 4 、 5 ......)

代码:

import os
import json
import win32com.client as win32 # pip install pywin32
import shutil

rootDir = 'C:/Users/Adam/Desktop/Linkedin/linkedin_hb_ma'
x = 1

for dirName, subdirList, fileList in os.walk(rootDir):
    if dirName.endswith("1eb95ebb-d87d-Xd7-8c84-Xc"):
        for file in fileList:
            abs_path = os.path.join(dirName, file)
            if file.endswith("activities.json"):
                print('Found directory:'+ abs_path)
                src = abs_path
                dst = 'C:/Users/Adam/Desktop/Linkedin analyze/tableau bsp/1/3'
                shutil.copy(src, dst)
                m = str(x)
                print(m)
                os.rename('C:/Users/A.Abboudi/Desktop/Linkedin analyze/tableau bsp/1/3/activities.json', m)
                x =x+ 1

错误:

---------------------------------------------------------------------------
FileExistsError                           Traceback (most recent call last)
<ipython-input-61-5491807f76ee> in <module>
     20                 m = str(x)
     21                 print(m)
---> 22                 os.rename(abs_path, m)
     23                 x += 1
"FileExistsError: [WinError 183] Cannot create a file when that file already exists"

非常感谢

【问题讨论】:

你能发布一个完整的错误吗?你那里有行号吗?? @DeepBhatt 完成 【参考方案1】:

您是否已经检查过该文件夹?它是否已经更改了您的文件名一次?尝试删除 dest 文件夹中创建的任何文件!

如果不是这样,那么试试这个:

代码

if not os.path.exists("name of folder/file"):
    os.rename('C:/Users/A.Abboudi/Desktop/Linkedin analyze/tableau bsp/1/3/activities.json', m)

不要试图从这里复制,因为我不确定这个身份!

【讨论】:

以上是关于使用python:查找文件并复制到另一个目录的主要内容,如果未能解决你的问题,请参考以下文章

java如何查找指定目录下的最新文件

用于字符串的 grep 文件并将目录复制到另一个目录

bat先查找文件夹再查找文件夹内的文件并打开

linux 如何查找当前目录下最大的文件夹

从一个工作簿中查找单元格并将其复制到另一个工作簿

python 脚本尝试查找具有相同尺寸的图像并将其移动到另一个目录。