Python文件处理--文件读写详解
在Python中,文件是一种常见的数据交互方式。本文将详细讲解Python文件读写,包括:
- 打开/关闭文件
- 读取文件内容
- 写入文件内容
- 追加文件内容
- 读写文件的不同模式
打开/关闭文件
打开文件
在Python中,打开文件有两种方式:使用内置函数open()
和使用Python标准库中的pathlib
模块。这里我们着重介绍open()
。
open()
函数有两个必要的参数:文件名和模式。文件名是指要访问的文件名(可以是全路径或简单命名),而模式则控制着文件的读写方式。
# 打开文件
f = open('example.txt', 'r')
关闭文件
当我们完成对文件的读写操作时,最好将其关闭。这可以通过close()
函数来实现。
# 关闭文件
f.close()
一般来说,你应该总是在你完成文件操作后关闭文件,因为这么做可以:
- 释放系统资源
- 防止文件被其他程序或进程修改
读取文件内容
Python提供了多种方法来读取文件中的内容,包括:
read()
:一次性读取整个文件readline()
:读取文件中的单行数据readlines()
:读取文件中的所有行- 迭代器:通过逐行读取文件内容来访问文件
以下代码展示了如何使用read()
函数来读取文件内容。
f = open('example.txt', 'r')
content = f.read()
print(content)
f.close()
以上代码使用read()
函数将整个文件读入内存中,并将文件内容保存在变量content
中。
写入文件内容
使用open()
函数打开文件时,还可以指定模式为w
,表示写入文件。这时就可以使用write()
函数来向文件中写入内容。
f = open('example.txt', 'w')
f.write('Hello World!')
f.close()
以上代码创建了一个新的文件example.txt
,并向其中写入了字符串"Hello World!"
。
追加文件内容
在向文件中写入内容时,我们可以使用w
模式来覆盖原有内容,也可以使用a
模式来追加内容。
f = open('example.txt', 'a')
f.write('Python is awesome!')
f.close()
以上代码在文件末尾追加了字符串"Python is awesome!"
。
读写文件的不同模式
除了读取和写入模式外,open()
函数还接受以下模式参数:
r+
:打开文件进行读写w+
:打开文件进行读写,如果文件不存在则创建a+
:在文件末尾追加内容并进行读写,如果文件不存在则创建
以下代码演示了如何以r+
模式打开文件、读取和修改内容。
f = open('example.txt', 'r+')
content = f.read()
f.seek(0) # 将读取指针移动到文件开头
f.write('Python is awesome!\n' + content)
f.close()
以上代码读取文件内容并在文件开头插入字符串"Python is awesome!\n"
。
示例说明
示例1:读取网站HTML代码
我们可以使用Python打开一个网站,读取其HTML代码并进行解析和处理,这就需要使用文件读取操作。
import urllib.request
url = 'https://www.baidu.com'
f = urllib.request.urlopen(url)
html = f.read()
# 将HTML代码写入文件
with open('baidu.html', 'wb') as file:
file.write(html)
以上代码打开URL地址,读取其中的HTML代码,并将其写入文件baidu.html
中。
示例2:按行读取CSV文件
在数据分析、机器学习等领域中,我们需要经常处理CSV格式的数据。以下的示例代码演示了如何使用Python读取CSV文件,并进行简单的处理。
with open('data.csv', 'r') as file:
for line in file:
data = line.strip().split(',')
print(data)
以上代码使用with
语句打开文件data.csv
,然后使用for
循环逐行读取其中的内容。每一行的数据都被用逗号分隔,并将其存储在名为data
的列表中。最后,这些数据被输出到控制台上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python文件处理–文件读写详解 - Python技术站