Shutil module offers high-level operation on a file like a copy, create, and remote operation on the file. It comes under Python’s standard utility modules. This module helps in automating the process of copying and removal of files and directories. In this article, we will learn this module.
Before copying file:
['archive (2)', 'c.jpg', 'c.PNG', 'Capture.PNG', 'cc.jpg', 'check.zip', 'cv.csv', 'd.png', 'Done! Terms And Conditions Generator – The Fastest Free Terms and Conditions Generator!.pdf', 'file1.csv', 'gfg', 'haarcascade_frontalface_alt2.xml', 'log_transformed.jpg', 'main.py', 'nba.csv', 'new_gfg.png', 'r.gif', 'Result -_ Terms and Conditions are Ready!.pdf', 'rockyou.txt', 'sample.txt']
Metadata: os.stat_result(st_mode=33206, st_ino=2251799814202896, st_dev=1689971230, st_nlink=1, st_uid=0, st_gid=0, st_size=1916, st_atime=1612953710, st_mtime=1612613202, st_ctime=1612522940)
After copying file:
['archive (2)', 'c.jpg', 'c.PNG', 'Capture.PNG', 'cc.jpg', 'check.zip', 'cv.csv', 'd.png', 'Done! Terms And Conditions Generator – The Fastest Free Terms and Conditions Generator!.pdf', 'file1.csv', 'gfg', 'haarcascade_frontalface_alt2.xml', 'log_transformed.jpg', 'main.py', 'nba.csv', 'new_gfg.png', 'r.gif', 'Result -_ Terms and Conditions are Ready!.pdf', 'rockyou.txt', 'sample.txt']
Metadata: os.stat_result(st_mode=33206, st_ino=2251799814202896, st_dev=1689971230, st_nlink=1, st_uid=0, st_gid=0, st_size=1916, st_atime=1612953710, st_mtime=1612613202, st_ctime=1612522940)
Destination path: csv/gfg/check.txt
If source and destination represent the same file then SameFileError exception will be raised.
Syntax: 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.
Before copying file:
['cc.jpg', 'check.txt', 'log_transformed.jpg', 'main.py', 'main2.py', 'main_2.py']
After copying file:
['cc.jpg', 'check.txt', 'dest', 'log_transformed.jpg', 'main.py', 'main2.py', 'main_2.py']
Destination path: C:/Users/ksaty/csv/gfg/dest