Python 文件复制移动

Python 文件复制移动

Python 文件复制移动

在日常开发中,文件的复制和移动是非常常见的操作。Python 提供了多种方法来实现文件的复制和移动,本文将详细介绍这些方法,并提供示例代码来演示如何使用这些方法。

1. 使用 shutil 模块进行文件复制

shutil 模块是 Python 标准库中用于文件操作的模块,其中包含了文件复制和移动的方法。下面是一个简单的示例代码,演示如何使用 shutil.copy 方法来复制文件:

import shutil

# 源文件路径
source_file = 'source.txt'
# 目标文件路径
target_file = 'target.txt'

# 复制文件
shutil.copy(source_file, target_file)

print('文件复制成功')

运行以上代码,会将 source.txt 文件复制到 target.txt 文件中,并输出 文件复制成功

2. 使用 os 模块进行文件移动

除了 shutil 模块外,Python 的 os 模块也提供了文件操作的方法。下面是一个示例代码,演示如何使用 os.rename 方法来移动文件:

import os

# 源文件路径
source_file = 'source.txt'
# 目标文件路径
target_file = 'target.txt'

# 移动文件
os.rename(source_file, target_file)

print('文件移动成功')

运行以上代码,会将 source.txt 文件移动到 target.txt 文件中,并输出 文件移动成功

3. 使用 pathlib 模块进行文件复制和移动

pathlib 模块是 Python 3.4 引入的新模块,提供了更加简洁和易用的文件路径操作方法。下面是一个示例代码,演示如何使用 pathlib.Path 对象的 rename 方法来移动文件:

from pathlib import Path

# 源文件路径
source_file = Path('source.txt')
# 目标文件路径
target_file = Path('target.txt')

# 移动文件
source_file.rename(target_file)

print('文件移动成功')

运行以上代码,会将 source.txt 文件移动到 target.txt 文件中,并输出 文件移动成功

4. 使用 shutil 模块进行文件夹复制

除了文件复制和移动外,有时候我们也需要复制整个文件夹。shutil 模块提供了 shutil.copytree 方法来实现文件夹的复制。下面是一个示例代码,演示如何使用 shutil.copytree 方法来复制文件夹:

import shutil

# 源文件夹路径
source_dir = 'source_dir'
# 目标文件夹路径
target_dir = 'target_dir'

# 复制文件夹
shutil.copytree(source_dir, target_dir)

print('文件夹复制成功')

运行以上代码,会将 source_dir 文件夹及其所有内容复制到 target_dir 文件夹中,并输出 文件夹复制成功

5. 使用 shutil 模块进行文件夹移动

类似地,shutil 模块也提供了 shutil.move 方法来移动文件夹。下面是一个示例代码,演示如何使用 shutil.move 方法来移动文件夹:

import shutil

# 源文件夹路径
source_dir = 'source_dir'
# 目标文件夹路径
target_dir = 'target_dir'

# 移动文件夹
shutil.move(source_dir, target_dir)

print('文件夹移动成功')

运行以上代码,会将 source_dir 文件夹及其所有内容移动到 target_dir 文件夹中,并输出 文件夹移动成功

6. 使用 os 模块进行文件夹删除

在文件操作中,删除文件夹也是一个常见的操作。os 模块提供了 os.rmdir 方法来删除空文件夹,shutil 模块提供了 shutil.rmtree 方法来删除非空文件夹。下面是一个示例代码,演示如何使用 shutil.rmtree 方法来删除文件夹:

import shutil

# 待删除文件夹路径
dir_to_delete = 'dir_to_delete'

# 删除文件夹
shutil.rmtree(dir_to_delete)

print('文件夹删除成功')

运行以上代码,会删除 dir_to_delete 文件夹及其所有内容,并输出 文件夹删除成功

7. 使用 pathlib 模块进行文件夹操作

pathlib 模块也提供了一些方法来进行文件夹操作。下面是一个示例代码,演示如何使用 pathlib.Path 对象的 mkdir 方法来创建文件夹:

from pathlib import Path

# 待创建文件夹路径
dir_to_create = Path('dir_to_create')

# 创建文件夹
dir_to_create.mkdir()

print('文件夹创建成功')

代码运行结果:

Python 文件复制移动

运行以上代码,会创建一个名为 dir_to_create 的文件夹,并输出 文件夹创建成功

8. 使用 os 模块进行文件重命名

除了移动文件外,有时候我们也需要对文件进行重命名。os 模块提供了 os.rename 方法来实现文件的重命名。下面是一个示例代码,演示如何使用 os.rename 方法来重命名文件:

import os

# 待重命名文件路径
file_to_rename = 'file_to_rename.txt'
# 新文件名
new_file_name = 'renamed_file.txt'

# 重命名文件
os.rename(file_to_rename, new_file_name)

print('文件重命名成功')

运行以上代码,会将 file_to_rename.txt 文件重命名为 renamed_file.txt,并输出 文件重命名成功

9. 使用 shutil 模块进行文件压缩

在文件操作中,有时候我们需要对文件进行压缩。shutil 模块提供了 shutil.make_archive 方法来实现文件的压缩。下面是一个示例代码,演示如何使用 shutil.make_archive 方法来压缩文件:

import shutil

# 待压缩文件路径
file_to_compress = 'file_to_compress.txt'
# 压缩文件名
compressed_file = 'compressed_file.zip'

# 压缩文件
shutil.make_archive(compressed_file, 'zip', '.', file_to_compress)

print('文件压缩成功')

运行以上代码,会将 file_to_compress.txt 文件压缩为 compressed_file.zip,并输出 文件压缩成功

10. 使用 zipfile 模块进行文件解压缩

与文件压缩相对应的是文件解压缩。Python 的 zipfile 模块提供了一些方法来进行文件的解压缩。下面是一个示例代码,演示如何使用 zipfile.ZipFile 对象的 extractall 方法来解压缩文件:

import zipfile

# 压缩文件路径
compressed_file = 'compressed_file.zip'
# 解压缩目标文件夹路径
extract_dir = 'extracted_files'

# 解压缩文件
with zipfile.ZipFile(compressed_file, 'r') as zip_ref:
    zip_ref.extractall(extract_dir)

print('文件解压缩成功')

运行以上代码,会将 compressed_file.zip 文件解压缩到 extracted_files 文件夹中,并输出 文件解压缩成功

11. 使用 os 模块进行文件权限修改

在文件操作中,有时候我们需要修改文件的权限。os 模块提供了 os.chmod 方法来修改文件的权限。下面是一个示例代码,演示如何使用 os.chmod 方法来修改文件的权限:

import os

# 待修改权限的文件路径
file_to_change_permission = 'file_to_change_permission.txt'
# 新权限
new_permission = 0o777

# 修改文件权限
os.chmod(file_to_change_permission, new_permission)

print('文件权限修改成功')

运行以上代码,会将 file_to_change_permission.txt 文件的权限修改为 777,并输出 文件权限修改成功

12. 使用 os 模块进行文件大小获取

有时候我们需要获取文件的大小信息。os 模块提供了 os.path.getsize 方法来获取文件的大小。下面是一个示例代码,演示如何使用 os.path.getsize 方法来获取文件的大小:

import os

# 待获取大小的文件路径
file_to_get_size = 'file_to_get_size.txt'

# 获取文件大小
file_size = os.path.getsize(file_to_get_size)

print(f'文件大小为: {file_size} 字节')

运行以上代码,会输出 file_to_get_size.txt 文件的大小,单位为字节。

13. 使用 os 模块进行文件路径操作

os 模块提供了一些方法来进行文件路径的操作。下面是一个示例代码,演示如何使用 os.path.join 方法来拼接文件路径:

import os

# 文件夹路径
dir_path = 'path/to/dir'
# 文件名
file_name = 'file.txt'

# 拼接文件路径
file_path = os.path.join(dir_path, file_name)

print(f'文件路径为: {file_path}')

代码运行结果:

Python 文件复制移动

运行以上代码,会输出拼接后的文件路径。

14. 使用 os 模块进行文件存在性判断

在进行文件操作时,有时候我们需要判断文件是否存在。os 模块提供了 os.path.exists 方法来判断文件是否存在。下面是一个示例代码,演示如何使用 os.path.exists 方法来判断文件是否存在:

import os

# 待判断存在性的文件路径
file_to_check = 'file_to_check.txt'

# 判断文件是否存在
if os.path.exists(file_to_check):
    print('文件存在')
else:
    print('文件不存在')

代码运行结果:

Python 文件复制移动

运行以上代码,会输出文件是否存在的信息。

15. 使用 os 模块进行文件类型判断

除了判断文件是否存在外,有时候我们也需要判断文件的类型。os 模块提供了 os.path.isfileos.path.isdir 方法来判断文件和文件夹。下面是一个示例代码,演示如何使用这两个方法来判断文件类型:

import os

# 文件路径
file_path = 'file_to_check.txt'
# 文件夹路径
dir_path = 'dir_to_check'

# 判断文件类型
if os.path.isfile(file_path):
    print('这是一个文件')
else:
    print('这不是一个文件')

if os.path.isdir(dir_path):
    print('这是一个文件夹')
else:
    print('这不是一个文件夹')

代码运行结果:

Python 文件复制移动

运行以上代码,会输出文件和文件夹的类型信息。

16. 使用 os 模块进行文件时间戳获取

在文件操作中,有时候我们需要获取文件的创建时间、修改时间等时间戳信息。os 模块提供了 os.path.getctimeos.path.getmtime 方法来获取文件的创建时间和修改时间。下面是一个示例代码,演示如何使用这两个方法来获取文件时间戳:

import os
import time

# 文件路径
file_path = 'file_to_check.txt'

# 获取文件创建时间
create_time = os.path.getctime(file_path)
print(f'文件创建时间: {time.ctime(create_time)}')

# 获取文件修改时间
modify_time = os.path.getmtime(file_path)
print(f'文件修改时间: {time.ctime(modify_time)}')

运行以上代码,会输出文件的创建时间和修改时间。

17. 使用 os 模块进行文件遍历

有时候我们需要遍历文件夹中的所有文件和子文件夹。os 模块提供了 os.walk 方法来实现文件夹的遍历。下面是一个示例代码,演示如何使用 os.walk 方法来遍历文件夹:

import os

# 文件夹路径
dir_to_walk = 'dir_to_walk'

# 遍历文件夹
for root, dirs, files in os.walk(dir_to_walk):
    print(f'当前目录: {root}')
    print(f'子目录: {dirs}')
    print(f'文件: {files}')

运行以上代码,会遍历 dir_to_walk 文件夹中的所有文件和子文件夹。

18. 使用 os 模块进行文件读写操作

在文件操作中,读写文件是非常常见的操作。os 模块提供了 open 方法来打开文件,并提供了 readwrite 方法来进行文件的读写操作。下面是一个示例代码,演示如何使用这些方法来进行文件读写操作:

import os

# 文件路径
file_path = 'file_to_read_write.txt'

# 写入文件
with open(file_path, 'w') as file:
    file.write('Hello, deepinout.com!')

# 读取文件
with open(file_path, 'r') as file:
    content = file.read()
    print(content)

代码运行结果:

Python 文件复制移动

运行以上代码,会将 Hello, deepinout.com! 写入到文件中,并读取文件内容并输出。

19. 使用 os 模块进行文件扩展名获取

有时候我们需要获取文件的扩展名。os 模块提供了 os.path.splitext 方法来获取文件的扩展名。下面是一个示例代码,演示如何使用 os.path.splitext 方法来获取文件的扩展名:

import os

# 文件路径
file_path = 'file_to_get_extension.txt'

# 获取文件扩展名
file_extension = os.path.splitext(file_path)[1]

print(f'文件扩展名为: {file_extension}')

代码运行结果:

Python 文件复制移动

运行以上代码,会输出 file_to_get_extension.txt 文件的扩展名。

20. 使用 os 模块进行文件路径拆分

有时候我们需要将文件路径拆分为目录路径和文件名。os 模块提供了 os.path.split 方法来实现文件路径的拆分。下面是一个示例代码,演示

import os

# 文件路径
file_path = 'path/to/file.txt'

# 拆分文件路径
dir_path, file_name = os.path.split(file_path)

print(f'目录路径为: {dir_path}')
print(f'文件名为: {file_name}')

代码运行结果:

Python 文件复制移动

运行以上代码,会将 file_path 文件路径拆分为目录路径和文件名,并输出。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程