欢迎访问宙启技术站
智能推送

Python中如何实现文件和文件夹的操作

发布时间:2023-12-25 19:06:36

Python中可以使用内置的模块来实现文件和文件夹的操作,主要可以使用osshutil模块。

首先介绍os模块。os模块提供了许多函数来处理文件和文件夹的操作,以下是一些常用的函数和它们的使用例子:

1. 创建文件夹:os.mkdir(path)

import os

os.mkdir("folder")  # 在当前目录下创建一个名为folder的文件夹

2. 删除文件夹:os.rmdir(path)

import os

os.rmdir("folder")  # 删除当前目录下的名为folder的文件夹

3. 获取当前工作目录:os.getcwd()

import os

current_dir = os.getcwd()  # 获取当前工作目录
print(current_dir)

4. 更改当前工作目录:os.chdir(path)

import os

os.chdir("folder")  # 将当前工作目录更改为folder

5. 列出目录下的所有文件和文件夹:os.listdir(path)

import os

file_list = os.listdir("folder")  # 列出folder目录下的所有文件和文件夹
print(file_list)

6. 判断路径是否为文件:os.path.isfile(path)

import os

is_file = os.path.isfile("file.txt")  # 判断file.txt是否为文件
print(is_file)

7. 判断路径是否为文件夹:os.path.isdir(path)

import os

is_dir = os.path.isdir("folder")  # 判断folder是否为文件夹
print(is_dir)

8. 判断路径是否存在:os.path.exists(path)

import os

exists = os.path.exists("folder")  # 判断folder是否存在
print(exists)

9. 分割路径:os.path.split(path)

import os

dir_name, base_name = os.path.split("folder/file.txt")  # 分割路径为目录名和文件名
print(dir_name, base_name)

10. 获取文件的绝对路径:os.path.abspath(path)

import os

absolute_path = os.path.abspath("file.txt")  # 获取file.txt的绝对路径
print(absolute_path)

接下来介绍shutil模块。shutil模块提供了一些高级的文件和文件夹操作函数,它是在os模块的基础上封装了一些常用的操作,以下是一些常用的函数和它们的使用例子:

1. 复制文件:shutil.copy(src, dst)

import shutil

shutil.copy("file.txt", "folder/file_copy.txt")  # 复制file.txt到folder目录,并命名为file_copy.txt

2. 移动文件或文件夹:shutil.move(src, dst)

import shutil

shutil.move("file.txt", "folder/file.txt")  # 将file.txt移动到folder目录

3. 递归删除文件夹及其内容:shutil.rmtree(path)

import shutil

shutil.rmtree("folder")  # 递归删除folder目录及其内容

4. 压缩文件或文件夹:shutil.make_archive(base_name, format, root_dir)

import shutil

shutil.make_archive("folder_archive", "zip", "folder")  # 压缩folder目录为folder_archive.zip

5. 解压缩文件:shutil.unpack_archive(filename, extract_dir)

import shutil

shutil.unpack_archive("folder_archive.zip", "extract_folder")  # 解压缩folder_archive.zip到extract_folder目录

总结:在Python中,可以使用os模块和shutil模块来实现文件和文件夹的操作。os模块提供了许多基本的函数来处理文件和文件夹的操作,而shutil模块封装了一些高级的操作,可以更方便地进行复制、移动、压缩和解压缩等操作。根据具体需求,选择适合的函数进行文件和文件夹的操作。