在Python中复制和重命名文件

使用shutil(shell实用程序)模块,文件操作(例如复制,重命名,移动等)非常方便。要复制和重命名,有两种方法:

  1. 用新名称移动文件

  2. 使用“ 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

以上是 在Python中复制和重命名文件 的全部内容, 来源链接: utcz.com/z/355583.html

回到顶部