Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

Ai đó có thể giúp tôi về cách sao chép tất cả các tệp từ thư mục sang thư mục đích khác trong Python. Điều hấp dẫn là tôi không muốn sao chép cấu trúc phụ. Nhưng tôi muốn các tập tin bên trong chúng.

Show

    Ví dụ: hãy nói trong thư mục gốc, có 3 thư mục, mỗi thư mục chứa 10 tệp. Ngoài ra, trong mỗi trong số đó có 2 thư mục mỗi 5 tệp chứa 5 tệp. (Vì vậy, mỗi thư mục cấp độ đầu tiên có tổng số 20 tệp và 2 thư mục phụ theo nó). Mang tổng cộng lên 60 tệp.

    Tôi muốn sao chép tất cả 60 tệp đó vào một thư mục đích duy nhất, loại bỏ cấu trúc thư mục con.

    Đây là mã tôi đã thử:

    # path : source folder path
    # compiled_path: destination folder path
    w = os.walk(path)
    for root, dirs, files in w:
        for dir_name in dirs:
            file_list_curent_dir = os.walk(path+"\\"+dir_name).next()[2]
            for item in file_list_curent_dir:
                shutil.copy(path+"\\"+dir_name+"\\"+item, compiled_path+"\\"+item )
    

    Nó sao chép các tệp cấp cao nhất, không phải các thư mục trong các thư mục phụ.

    Cảm ơn vi đa danh thơi gian cho tôi.

    Để xóa nhiều hơn một tệp hoặc một tệp có định dạng cụ thể, SHOWIL.IGNORE_POTERSE được sử dụng. Hàm này được truyền như một đối số cho phương thức copyLee () chỉ định các mẫu glob để lọc các tệp và thư mục. & Nbsp; in Python provides many functions of high-level operations on files and collections of files. It comes under Python’s standard utility modules. This module helps in automating process of copying and removal of files and directories.
    shutil.copytree() method recursively copies an entire directory tree rooted at source (src) to the destination directory. The destination directory, named by (dst) must not already exist. It will be created during copying. Permissions and times of directories are copied with copystat() and individual files are copied using shutil.copy2().

    Ví dụ: Chúng tôi sẽ sử dụng thư mục nguồn trên làm ví dụ và sẽ không sao chép bất kỳ tệp .txt và thư mục nào. Dưới đây là việc thực hiện. & NBSP; shutil.copytree(src, dst, symlinks = False, ignore = None, copy_function = copy2, ignore_dangling_symlinks = False)
    Parameters: 
    src: A string representing the path of the source directory. 
    dest: A string representing the path of the destination. 
    symlinks (optional): This parameter accepts True or False, depending on which the metadata of the original links or linked links will be copied to the new tree. 
    ignore (optional): If ignore is given, it must be a callable that will receive as its arguments the directory being visited by copytree(), and a list of its contents, as returned by os.listdir(). 
    copy_function (optional): The default value of this parameter is copy2. We can use other copy function like copy() for this parameter. 
    ignore_dangling_symlinks (optional): This parameter value when set to True is used to put a silence on the exception raised if the file pointed by the symlink doesn’t exist.
    Return Value: This method returns a string which represents the path of newly created directory. 
     

    import import6 Suppose the directory looks like this. 

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    Python3

    'D:/Pycharm projects/GeeksforGeeks/src'3= dest 8dest 9import00'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    Mô-đun Shutil trong Python cung cấp nhiều chức năng của các hoạt động cấp cao trên các tệp và bộ sưu tập tệp. Nó nằm trong các mô -đun tiện ích tiêu chuẩn Python. Mô -đun này giúp tự động hóa quá trình sao chép và xóa các tệp và thư mục.Shutil.CopyTree () Phương thức sao chép một cách đệ quy toàn bộ cây thư mục bắt nguồn từ nguồn (SRC) vào thư mục đích. Thư mục đích, được đặt tên bởi (DST) không phải tồn tại. Nó sẽ được tạo ra trong quá trình sao chép. Quyền và thời gian của các thư mục được sao chép với CopyStat () và các tệp riêng lẻ được sao chép bằng SOWLIL.Copy2 ().

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    dest = import1

    'D:/Pycharm projects/GeeksforGeeks/src'3= 'D:/Pycharm projects/GeeksforGeeks/'1'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    Output:

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

    Để xóa nhiều hơn một tệp hoặc một tệp có định dạng cụ thể, SHOWIL.IGNORE_POTERSE được sử dụng. Hàm này được truyền như một đối số cho phương thức copyLee () chỉ định các mẫu glob để lọc các tệp và thư mục. & Nbsp;

    Ví dụ: Chúng tôi sẽ sử dụng thư mục nguồn trên làm ví dụ và sẽ không sao chép bất kỳ tệp .txt và thư mục nào. Dưới đây là việc thực hiện. & NBSP;

    import import6

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    Python3

    import import6

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    'D:/Pycharm projects/GeeksforGeeks/src'3= dest 8dest 9import00'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    dest = import1

    shutil 5shutil 6

    shutil 7shutil 8

    'D:/Pycharm projects/GeeksforGeeks/src'3= 'D:/Pycharm projects/GeeksforGeeks/'1'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    Để xóa nhiều hơn một tệp hoặc một tệp có định dạng cụ thể, SHOWIL.IGNORE_POTERSE được sử dụng. Hàm này được truyền như một đối số cho phương thức copyLee () chỉ định các mẫu glob để lọc các tệp và thư mục. & Nbsp;

    path 7path 8

    shutil 7=0shutil 6

    Ví dụ: Chúng tôi sẽ sử dụng thư mục nguồn trên làm ví dụ và sẽ không sao chép bất kỳ tệp .txt và thư mục nào. Dưới đây là việc thực hiện. & NBSP;

    Output:

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

    import import6

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    'D:/Pycharm projects/GeeksforGeeks/src'3= dest 8dest 9import00'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7 Suppose the source folder looks like this. 

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

    Mô-đun Shutil trong Python cung cấp nhiều chức năng của các hoạt động cấp cao trên các tệp và bộ sưu tập tệp. Nó nằm trong các mô -đun tiện ích tiêu chuẩn Python. Mô -đun này giúp tự động hóa quá trình sao chép và xóa các tệp và thư mục.Shutil.CopyTree () Phương thức sao chép một cách đệ quy toàn bộ cây thư mục bắt nguồn từ nguồn (SRC) vào thư mục đích. Thư mục đích, được đặt tên bởi (DST) không phải tồn tại. Nó sẽ được tạo ra trong quá trình sao chép. Quyền và thời gian của các thư mục được sao chép với CopyStat () và các tệp riêng lẻ được sao chép bằng SOWLIL.Copy2 ().

    Python3

    import import6

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    'D:/Pycharm projects/GeeksforGeeks/src'3= dest 8dest 9import00'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    Mô-đun Shutil trong Python cung cấp nhiều chức năng của các hoạt động cấp cao trên các tệp và bộ sưu tập tệp. Nó nằm trong các mô -đun tiện ích tiêu chuẩn Python. Mô -đun này giúp tự động hóa quá trình sao chép và xóa các tệp và thư mục.Shutil.CopyTree () Phương thức sao chép một cách đệ quy toàn bộ cây thư mục bắt nguồn từ nguồn (SRC) vào thư mục đích. Thư mục đích, được đặt tên bởi (DST) không phải tồn tại. Nó sẽ được tạo ra trong quá trình sao chép. Quyền và thời gian của các thư mục được sao chép với CopyStat () và các tệp riêng lẻ được sao chép bằng SOWLIL.Copy2 ().

    Cú pháp: shatil.copytree (src, dst, symlinks = false Đường dẫn của đích. , nó phải là một cuộc gọi sẽ nhận được khi các đối số của nó, thư mục được truy cập bởi copylree () và một danh sách các nội dung của nó, được trả về bởi os.listdir (). & nbsp; copy_function (tùy chọn): giá trị mặc định của tham số này là bản sao2. Chúng ta có thể sử dụng các hàm sao chép khác như Copy () cho tham số này. & NBSP; Bỏ qua_dangling_symlinks (tùy chọn): Giá trị tham số này khi được đặt thành true được sử dụng để đặt sự im lặng vào ngoại lệ được nêu ra nếu tệp được chỉ bởi Symlink không tồn tại. Giá trị trả về: Phương thức này trả về một chuỗi đại diện cho đường dẫn của thư mục mới được tạo. & Nbsp; & nbsp;

    src 6src 7'D:/Pycharm projects/GeeksforGeeks/'2src 9

    path 7=1 =2=3

    shutil 7=1 =6

    src = =9

    dest = import1

    'D:/Pycharm projects/GeeksforGeeks/src'3= 'D:/Pycharm projects/GeeksforGeeks/'1'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    Output:

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python

    Để xóa nhiều hơn một tệp hoặc một tệp có định dạng cụ thể, SHOWIL.IGNORE_POTERSE được sử dụng.Hàm này được truyền như một đối số cho phương thức copyLee () chỉ định các mẫu glob để lọc các tệp và thư mục. & Nbsp;

    Ví dụ: Chúng tôi sẽ sử dụng thư mục nguồn trên làm ví dụ và sẽ không sao chép bất kỳ tệp .txt và thư mục nào.Dưới đây là việc thực hiện. & NBSP; We will use the above source folder as an example and will not copy any .txt file and folder ‘a’. Below is the implementation. 

    Python3

    import import6

    src = 'D:/Pycharm projects/GeeksforGeeks/src'

    dest = import1

    'D:/Pycharm projects/GeeksforGeeks/src'3= 'D:/Pycharm projects/GeeksforGeeks/'1'D:/Pycharm projects/GeeksforGeeks/src'6'D:/Pycharm projects/GeeksforGeeks/src'7

    Output:

    Hướng dẫn copy all files and sub-directories python - sao chép tất cả các tệp và thư mục con python