【问题标题】:how to copy many files inside of a directory to many other directories using shell or python [closed]如何使用shell或python将目录中的许多文件复制到许多其他目录[关闭]
【发布时间】:2020-09-05 15:08:23
【问题描述】:

我在 directory1 中有很多文件(libX11.so.6、tm.txt、ff.txt.. 等等),我需要将 directory1 的这些文件复制到许多其他名为 directory2、3 的目录中。 .....100000。我尝试了 find 命令,但它不起作用。下面给出了我的示例在线代码。任何人都可以使用 shell 或 python 提出一些更好的解决方案...提前致谢。

find . -type f -name "libX11.so.6, tm.txt, ff.txt" -exec cp -rv {} /home/geo/data/directory{2...100000} \;

执行此操作时显示错误

【问题讨论】:

    标签: python linux shell unix


    【解决方案1】:

    以下代码会将所有您的 original_dir 文件复制到destination_dir。
    我相信你可以做一些定制的改变来得到你想要的。

    import os
    from shutil import copyfile
    
    original_dir = "/path/to/the/original/dir"
    original_files = os.listdir(original_dir)
    
    destination_dir = "/path/to/your/destination/dir"
    
    for each in original_files:
        current_file = os.path.join(original_dir, each)
        # check if it is a file
        if not os.path.isdir(current_file):
            # print(each + " is being processing")
            copyfile(current_file, destination_folder + each)
    
    

    【讨论】:

      【解决方案2】:

      你可以使用 python 库shutil 来实现这个,代码如下:

      import shutil
      
      shutil.copy(src, dst)
      

      【讨论】:

      • 感谢您的回复...但是如何在此shutil中设置我的上述问题..请您建议
      • 你如何使用它是它说 src 你输入文件夹的位置,所以 C:/user 如果你这样做,它将复制用户文件夹中的所有内容并将其复制到你的目的地,这样可能是 C:/file 一个文件夹
      • 反正我用的是ubuntu
      • 看这篇文章了解如何在ubuntu上使用,*.com/questions/20020177/…