将所有文件从目录复制到Python中的另一个目录
shutil(shell实用程序)模块,提供了将文件从src递归复制到dst的选项。
复制所有文件的语法为:
shutil.copytree( src, dst, symlink=False, ignore=None, copy_function=copy2, ignore_dangling_symlins=False)
这里,
src-从中复制文件的源目录。
dst-将文件复制到的目的地。
如果符号链接为True,
用新名称移动文件
使用“os”模块复制和重命名文件
移动并重命名文件
shutil.move(src, dst, copy_function=copy2)
列表命令:
-bash-4.2$ ls python_samples test test.txt test.txt.copy test.txt.copy2
码:
#导入模块 import os import shutil src_dir = os.getcwd() #获取当前的工作目录 dest_file = src_dir + "/python_samples/test_renamed_file.txt" shutil.move('test.txt',dest_dir) print(os.listdir()) #文件“test.txt”从 #src以新名称命名os.chdir(dest_dir)print(os.listdir()) #dest中的文件列表
输出结果
'/home/sradhakr/Desktop/my_work/python_samples/ test_renamed_file.txt’ ['python_samples', 'test', 'test.txt.copy', 'test.txt.copy2'] ['.git', '.gitignore', 'README.md', 'src', ' test_renamed_file.txt']
使用os和shutil模块进行复制和重命名
在这种方法中,我们使用shutil.copy()复制文件的功能os.rename()重命名文件。
#导入模块 import os import shutil src_dir = os.getcwd() #获取当前的工作目录print(src_dir)#在我们要复制和重命名的目录中创建一个目录 dest_dir = os.mkdir('subfolder')os.listdir()dest_dir = src_dir+"/subfolder" src_file = os.path.join(src_dir, 'test.txt.copy2')shutil.copy(src_file,dest_dir) #将文件复制到目标目录 dst_file = os.path.join(dest_dir,'test.txt.copy2') new_dst_file_name = os.path.join(dest_dir, 'test.txt.copy3')os.rename(dst_file, new_dst_file_name)#renameos.chdir(dest_dir)print(os.listdir())
输出结果
/home/user/Desktop/my_work ['python_samples', 'subfolder', 'test', 'test.txt.copy2', 'test.txt.copy_1'] '/home/sradhakr/Desktop/my_work/subfolder/test.txt.copy2' ['test.txt.copy3']
简介:shutil(shell实用程序模块)是执行文件或目录的复制,移动或重命名操作的更Python方式。
参考:https://docs.python.org/3/faq/windows.html