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

Python中处理文件和目录的常见函数

发布时间:2023-06-08 07:41:58

在Python中对文件和目录的操作都是通过调用一些内置函数和标准库来完成的。本文从文件和目录的基本操作开始,介绍了一些常见的函数和模块,如os、shutil和glob,以及它们的主要功能和用法。

1. 创建和删除文件

Python中可以使用open()函数来创建或打开文件。使用“w”选项打开文件时,如果文件不存在,则会创建一个新文件。例如:

with open('myfile.txt', 'w') as f:
   f.write('Hello, world!')

相反,如果想要删除一个文件,可以使用os模块中的remove()函数,例如:

import os

os.remove('myfile.txt')

2. 创建和删除目录

要创建一个新目录,可以使用os模块中的mkdir()函数。例如:

import os

os.mkdir('newdir')

删除一个目录可以使用rmdir()函数,例如:

import os

os.rmdir('newdir')

如果需要删除的目录包含一些文件和其他目录,则需要使用shutil模块中的rmtree()函数来递归删除目录及其所有子目录和文件。例如:

import shutil

shutil.rmtree('mydir')

3. 文件和目录的重命名

在Python中,可以使用os模块中的rename()函数来重命名文件或目录。例如:

import os

os.rename('oldfile.txt', 'newfile.txt')

os.rename('olddir', 'newdir')

4. 获取文件和目录的信息

要获取文件或目录的元数据,可以使用os模块中的stat()函数。例如:

import os

st = os.stat('myfile.txt')

print('Size:', st.st_size)
print('Last modified:', st.st_mtime)

5. 遍历目录

要遍历一个目录中的所有文件和子目录,可以使用os模块中的walk()函数。例如:

import os

def traverse(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            print(os.path.join(root, file))

traverse('mydir')

6. 复制文件和目录

要复制文件,可以使用shutil模块中的copy()函数。例如:

import shutil

shutil.copy('oldfile.txt', 'newfile.txt')

要复制一个目录及其所有内容,可以使用shutil模块中的copytree()函数。例如:

import shutil

shutil.copytree('mydir', 'newdir')

7. 匹配文件和目录

要匹配文件或目录中的特定模式,可以使用glob模块中的glob()函数。例如:

import glob

files = glob.glob('*.txt')

print(files)

这个例子将返回当前目录中所有以.txt结尾的文件。可以使用通配符和其他模式来进行更复杂的匹配。

这些函数和模块都是Python中处理文件和目录的常用工具。如果想要学习更多的功能和用法,可以查看Python文档中的相关部分。