当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python os.rename和shutil.move的区别用法及代码示例


当涉及到重命名或移动文件和目录时,两种常用的方法是 os.重命名并关闭。移动。虽然两者都可以实现重命名和移动的目的,但它们在函数和用例方面有明显的差异。在本文中,我们将探讨这些差异以及何时使用它们。

操作系统之间的区别。重命名并关闭。在Python中移动

两个操作系统。重命名并关闭。移动是很有价值的工具Python用于重命名和移动文件和目录。它们之间的选择取决于您的任务的复杂性以及文件操作操作的具体要求。

何时使用 os.重命名并shutil.move:

用于os.rename()什么时候:

  • 您需要在同一目录中执行基本的重命名操作。
  • 原子性对于您的操作至关重要。

用于shutil.move()什么时候:

  • 您需要在不同的文件系统或设备之间移动文件或目录。
  • 您希望确保自动创建目标目录。
  • 您需要处理现有文件的覆盖。
  • 您想要保留文件元数据和属性。

os.rename 的示例

重命名文件

它将把文件‘old_file.txt’重命名为‘new_file.txt’,并显示一条消息,指示重命名过程成功。

Python3


import os
# Current file name
old_name = 'old_file.txt'
# New file name
new_name = 'new_file.txt'
# Rename the file
os.rename(old_name, new_name)
print(f"File '{old_name}' has been renamed to '{new_name}'.")

输出

os. rename

文件重命名为 GFG

重命名目录

它将把目录 ‘old_directory’ 重命名为 ‘new_directory’ 并显示一条消息,指示重命名过程成功。

Python3


import os
# Current directory name
old_dir = 'old_directory'
# New directory name
new_dir = 'new_directory'
# Rename the directory
os.rename(old_dir, new_dir)
print(f"Directory '{old_dir}' has been renamed to '{new_dir}'.")

输出

Screenshot-2023-09-18-122411-(1)

重命名目录

shutil.move 的示例

将文件移动到不同的目录

此代码使用shutil 模块将文件从源位置移动到目标目录。它首先指定源文件和目标目录的路径。然后,它使用这些路径调用shutil.move()来执行移动操作。

Python3


import shutil
# Source file path
source_file = 'source_directory/source_file.txt'
# Destination directory path
destination_directory = 'destination_directory/'
# Move the file to the destination directory
shutil.move(source_file, destination_directory)
print(f"File '{source_file}' has been moved to '{destination_directory}'.")

输出

Screenshot-2023-09-18-114307

将文件移动到不同的目录

使用 shutil.move 处理覆盖

此代码使用 Python 中的 Shutil 库将文件从源目录移动到目标目录,可能会覆盖目标目录中的同名文件。

Python3


import shutil
# Source file path
source_file = 'source_directory/file.txt'
# Destination directory path
destination_directory = 'destination_directory/'
# Destination file path (same name as the source)
destination_file = 'destination_directory/file.txt'
# Move the file to the destination directory (overwrites if exists)
shutil.move(source_file, destination_file)
print(f"File '{source_file}' has been moved to '{destination_file
                                        }' (overwriting if necessary).")

输出

Screenshot-2023-09-18-115947-(3)

使用 shutil.move 处理覆盖



相关用法


注:本文由纯净天空筛选整理自amitgupm1wy大神的英文原创作品 Difference Between os.rename and shutil.move in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。