在Python中复制和重命名文件
使用shutil(shell实用程序)模块,文件操作(例如复制,重命名,移动等)非常方便。要复制和重命名,有两种方法:
用新名称移动文件
使用“OS”模块复制和重命名文件
1)移动并重命名文件
移动功能
shutil.move(src, dst, copy_function=copy2)
上面的方法将文件从src递归移动到dst并返回目标。
提醒事项
如果目标是现有目录,则src对象将移动到给定的dst中。
如果目标已经存在并且不是目录,它将使用覆盖os.rename()。
如果目标位于当前文件系统上,则os.rename()用来。对于符号链接,将在dst中或作为dst创建指向src目标的新符号链接,并删除src。
默认的copy_function是copy2()。使用copy()因为copy_function允许移动成功。
用于移动和重命名文件的Python代码
列出命令:
-bash-4.2$ ls python_samples testtest.txttest.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())os.chdir(dest_dir)#dest中的文件列表 print(os.listdir())
输出结果
'/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