在 Python 中,文件操作是非常基础和常用的操作。无论你是想读取文件内容,还是想写入新的数据,Python 都提供了很多实用的函数和方法。

在实战中,例如爬虫,数据分析,可视化等,都会涉及文件读写。

在这篇文章中,我将为大家介绍和总结 Python 文件读写操作的一些最常用的实用技巧,帮助大家提升工作效率。

1. 打开文件

在 Python 中,可以使用 open() 函数打开一个文件。open() 函数需要传入文件名和打开模式。打开模式可以是读取模式(‘r’)、写入模式(‘w’)、追加模式(‘a’)等。

file = open('file.txt', 'r')

2. 读取文件内容

在打开文件后,我们可以使用 read() 函数读取文件的内容。read() 函数会将整个文件的内容读取出来,然后返回一个字符串。

content = file.read()

如果你只想读取文件的一行内容,可以使用 readline() 函数。readline() 函数会读取文件的一行内容,并返回一个字符串。

line = file.readline()

如果你想按行读取文件的所有内容,可以使用 readlines() 函数。readlines() 函数会将文件的所有内容按行读取,并返回一个包含所有行内容的列表。

lines = file.readlines()

3. 写入文件内容

在 Python 中,我们可以使用 write() 函数向文件写入内容。write() 函数需要传入要写入的字符串。

file.write('hello, world!')

如果你想向文件写入多行内容,可以使用 writelines() 函数。writelines() 函数需要传入一个包含多行内容的列表。

lines = ['line1', 'line2', 'line3']
file.writelines(lines)

4. 关闭文件

在文件操作完成后,我们需要使用 close() 函数关闭文件。

file.close()

在 Python 中,打开的文件对象必须显式地关闭,否则可能会导致内存泄漏等问题。

5. 使用 with 语句

在 Python 中,我们可以使用 with 语句来自动管理文件对象的生命周期。使用 with 语句可以避免忘记关闭文件对象的问题。

with open('file.txt', 'r') as file:
    content = file.read()

使用 with 语句打开文件后,文件对象会在 with 语句结束时自动关闭。

6. 使用 with 和 for 循环一次性读取文件内容

当文件比较大时,一次性读取整个文件内容可能会导致内存不足的问题。在这种情况下,我们可以使用 with 和 for 循环来一次性读取文件的每一行内容。这种方法可以避免将整个文件读取到内存中。

with open('file.txt', 'r') as file:
    for line in file:
        print(line)

在上面的代码中,for 循环会逐行读取文件的内容,并将每行内容赋值给变量 line。在循环中,我们可以对每行内容进行处理,比如打印、统计等。

7. 使用 csv 模块读写 CSV 文件

在数据分析和处理中,CSV 文件是一种常见的数据格式。在 Python 中,可以使用 csv 模块来读写 CSV 文件。csv 模块提供了一些实用的函数和方法,可以轻松地读写 CSV 文件。

import csv

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

在上面的代码中,csv.reader() 函数将文件对象转换为一个 reader 对象,reader 对象可以迭代读取 CSV 文件的每一行数据。在循环中,我们可以对每行数据进行处理,比如打印、统计等。

import csv

with open('data.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(['name', 'age', 'gender'])
    writer.writerow(['Tom', '20', 'male'])
    writer.writerow(['Lucy', '18', 'female'])

在上面的代码中,csv.writer() 函数将文件对象转换为一个 writer 对象,writer 对象可以写入 CSV 文件的每一行数据。在代码中,我们先写入 CSV 文件的表头,然后逐行写入数据。

总结

Python 文件读写操作是编程中常用的基本操作之一,熟练掌握文件读写操作可以提高工作效率。本文介绍了 Python 文件读写操作的一些实用技巧,包括打开文件、读取文件内容、写入文件内容、关闭文件、使用 with 语句、使用 with 和 for 循环一次性读取文件内容、使用 csv 模块读写 CSV 文件等。希望这些技巧能帮助大家更加方便地进行文件操作。

附:源代码

# 打开文件
file = open('file.txt', 'r')

# 读取文件内容
content = file.read()

# 打印文件内容
print(content)

# 关闭文件
file.close()

# 使用 with 语句打开文件
with open('file.txt', 'r') as file:
  content = file.read()

# 打印文件内容
print(content)

# 使用 with 和 for 循环一次性读取文件内容
with open('file.txt', 'r') as file:
    for line in file:
        print(line)
        
# 使用 csv 模块读取 CSV 文件
import csv
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)
        
# 使用 csv 模块写入 CSV 文件
import csv
with open('data.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(['name', 'age', 'gender'])
    writer.writerow(['Tom', '20', 'male'])
    writer.writerow(['Lucy', '18', 'female'])