代码之家  ›  专栏  ›  技术社区  ›  TheTechGuy

使用python(python中的文件管理)将某些文件复制到其他文件夹

  •  3
  • TheTechGuy  · 技术社区  · 6 年前

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

    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)
    

    在“复制文件”功能上工作。但它在for-the循环中不起作用。

    我收到以下错误:

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

    我做错什么了?

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

    更新:

    我假设问题更多地出在路径上,我已经检查了for循环的内部,它显示了它所在的主目录。具有 print(os.getcwd())

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

    3 回复  |  直到 6 年前
        1
  •  2
  •   TheTechGuy    6 年前

    admin/sudo

    for r,d,files in os.walk(my_path):
        for f in files:
            print(r)
            shutil.copy(r + "/" + f, dest_path)
    
        2
  •  0
  •   Patel Sunil    6 年前

    python

    e.g. sudo python filename.py
    
        3
  •  0
  •   jc1850    6 年前

    try:
        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)
    except OSError:
        pass