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

Python文件操作函数:文件读写相关Python函数使用方法

发布时间:2023-05-27 16:27:53

Python是一种高级编程语言,它提供了丰富的文件操作函数,可以用于读写文件、处理文件、遍历文件等。本篇文章将讲述Python文件操作相关函数的基本使用方法。

一、文件读写

Python提供了open函数,用于打开一个文件并返回一个文件对象,然后我们可以使用文件对象的read和write函数来读写文件。

1. 文件读取

使用open函数打开文件,并传入文件名和打开模式。

f = open('test.txt', 'r')

打开模式有以下几种:

- 'r':读取文件(默认模式)

- 'w':写入文件,覆盖或创建一个新文件

- 'a':写入文件,追加内容到文件末尾

- 'x':写入文件,创建一个新文件,如果文件已存在则抛出错误

- 'b':二进制文件模式

- 't':文本文件模式(默认模式)

使用read函数来读取整个文件。

content = f.read()
print(content)

使用readline函数来读取一行。

line = f.readline()
print(line)

使用readlines函数来读取所有行。

lines = f.readlines()
print(lines)

读取完文件后,需要关闭文件。

f.close()

2. 文件写入

使用open函数打开文件,并传入文件名和打开模式。

f = open('test.txt', 'w')

然后使用write函数来写入内容。

f.write('Hello
')
f.write('World
')

写入完文件后,需要关闭文件。

f.close()

二、上下文管理器

Python还提供了上下文管理器,可以在使用完文件后自动关闭文件,不需要手动调用close函数。使用with语句创建上下文管理器。

1. 常规方式

with open('test.txt', 'r') as f:
    content = f.read()
    print(content)

使用完文件后,上下文管理器会自动关闭文件。

2. 自定义上下文管理器

也可以自定义上下文管理器,需要实现__enter__和__exit__方法。

class MyFile:
    def __init__(self, filename, mode):
        self.filename = filename
        self.mode = mode
    
    def __enter__(self):
        self.f = open(self.filename, self.mode)
        return self.f
    
    def __exit__(self, exc_type, exc_val, exc_tb):
        self.f.close()

with MyFile('test.txt', 'r') as f:
    content = f.read()
    print(content)

三、os模块

Python还提供了os模块,可以用于管理和操作文件。

1. 文件处理

- os.rename(old, new):重命名文件

- os.remove(file):删除文件

- os.stat(path):获取文件信息

- os.path.exists(path):判断文件是否存在

- os.path.getsize(file):获取文件大小

- os.path.abspath(path):获取文件完整路径

2. 文件夹处理

- os.makedirs(path):创建文件夹,包括多级目录

- os.mkdir(path):创建单级文件夹

- os.rmdir(path):删除单级空文件夹

- shutil.rmtree(path):删除整个文件夹

3. 文件遍历

- os.walk(path):遍历文件夹,返回(当前目录路径,子目录列表,文件列表)的三元组

import os

for root, dirs, files in os.walk('.'):
    print('Current Directory:', root)
    print('Sub Directories:', dirs)
    print('Files:', files)

四、shutil模块

Python还提供了shutil模块,用于高级文件操作,比如复制、移动文件和文件夹。

1. 文件复制

import shutil

shutil.copy(src, dst)  # 复制文件
shutil.copy2(src, dst)  # 复制文件并保留元数据
shutil.copyfile(src, dst)  # 复制文件内容并覆盖目标文件

2. 文件夹复制

import shutil

shutil.copytree(src, dst)  # 复制文件夹

3. 文件和文件夹移动

import shutil

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

以上是Python文件操作函数的基本使用方法,可以在实际开发中按需使用。