首页 > 解决方案 > 使用 Python 将某些文件复制到其他文件夹(Python 中的文件管理)

问题描述

如果某个文件存在,我想检查一个文件夹和所有子文件夹。如果存在,那么我想将其复制到另一个文件夹中。我尝试了以下内容

def copy_files(src, dest):
    files = os.listdir(src)
    for f in files:
        shutil.copy(src +f , dest)

for root, dirs, files in os.walk(my_path):
    for f in files:
        if f.endswith(".7z"):
            print("found files: " , f)
            copy_files(my_path, arch_dest)

在 copy_files 函数上有效。但它在 for 循环内不起作用。

我收到以下错误:

权限被拒绝:'./data/f_1'

我究竟做错了什么?

复制功能适用于其他文件夹。但在这个循环中,它不起作用。我需要让它在循环内工作。

更新:

我假设问题更多出在路径上,我在 for 循环中检查过它显示了它所在的主目录。和print(os.getcwd())

检查文件时是否需要转到该文件夹​​?

标签: pythonpython-3.x

解决方案


终于找到了解决办法。我知道它是因为根/路径。它与东西无关admin/sudo

可以按如下方式完成。

for r,d,files in os.walk(my_path):
    for f in files:
        print(r)
        shutil.copy(r + "/" + f, dest_path)

推荐阅读