在这篇文章中,我们展示了如何在Python中读取文本数据。
我们可以通过内置的open
函数或者pathlib
模块在Python中读取文本数据。
Path.read_text
将文件内容作为字符串读取。
open
函数用于在Python中打开文件。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None)
file
是要打开的文件的名称。mode
指示文件将如何打开:读取、写入或追加。buffering
是一个可选的整数,用于设置缓冲策略。
encoding
是用于解码或编码文件的编码名称。errors
是一个可选字符串,指定如何处理编码和解码错误。newline
控制换行符的行为。
文件模式是:
模式 |
含义 |
‘r’ |
打开阅读(默认) |
‘w’ |
打开写入,先截断文件 |
‘a’ |
以写入方式打开,如果存在则追加到文件末尾 |
‘b’ |
二进制模式 |
” |
文本模式(默认) |
‘+’ |
更新(读写) |
‘x’ |
独占创建,文件存在失败 |
/表>
默认模式是文本模式。
falcon
sky
book
sum
cup
cloud
water
win
我们有这个简单的文本文件。
Python用read函数读取文本
read
函数最多读取size
个字符作为一个字符串。如果size
参数为负数,则读取直到EOF。
#!/usr/bin/python
with open('words.txt', 'r') as f:
contents = f.read()
print(contents)
程序读取整个文件并打印其内容。
with open('words.txt', 'r') as f:
我们以读取模式打开works.txt
文件。由于我们没有指定二进制模式,文件以默认文本模式打开。该函数返回文件对象f
。with
语句通过封装常见的准备和清理任务来简化异常处理;此外,它会自动关闭打开的文件。
contents = f.read()
我们调用文件对象的read
函数。由于我们没有指定任何参数,它会读取整个文件。
$ ./main.py
falcon
sky
book
sum
cup
cloud
water
win
在下一个示例中,我们明确指定文本模式。
#!/usr/bin/python
with open('words.txt', 'rt') as f:
contents = f.read()
print(contents)
程序读取整个words.txt
文件。
Python用readline读取文本
readline
函数读取到换行符或EOF并返回一个字符串。如果流已经在EOF,则返回一个空字符串。如果指定了size
参数,则最多读取size个字符。
#!/usr/bin/python
with open('words.txt', 'r') as f:
line = f.readline()
print(line.rstrip())
line = f.readline()
print(line.rstrip())
在示例中,我们从文件中读取了两行。rstrip
函数从字符串中删除尾随的换行符。
$ ./main.py
falcon
sky
Python使用readlines读取文本
readlines
函数从流中读取并返回行列表。
#!/usr/bin/python
with open('words.txt', 'r') as f:
lines = f.readlines()
print(lines)
for line in lines:
print(line.strip())
在示例中,我们使用readlines
读取文件的内容。我们打印行列表,然后使用for语句遍历列表。
$ ./main.py
['falcon\n', 'sky\n', 'book\n', 'sum\n', 'cup\n', 'cloud\n', 'water\n', 'win']
falcon
sky
book
sum
cup
cloud
water
win
Python用for循环读取文本
由于open
函数返回的文件对象是可迭代的,我们可以将它直接传递给for循环。
#!/usr/bin/python
with open('works.txt', 'r') as f:
for line in f:
print(line.rstrip())
程序遍历文件对象以打印文本文件的内容。
$ ./main.py
falcon
sky
book
sum
cup
cloud
water
win
Python使用Path.read_text读取文本
Path.read_text
函数以文本模式打开文件,读取文件,然后关闭文件。这是一种方便阅读文本的便利功能。它不应该用于大文件。
#!/usr/bin/python
from pathlib import Path
path = Path('words.txt')
content = path.read_text()
print(content)
程序一次性将整个文本文件读入一个字符串。
$ ./main.py
falcon
sky
book
sum
cup
cloud
water
win
在本文中,我们展示了如何使用Python读取文件。
列出所有Python教程。
感觉很棒!可以赞赏支持我哟~
赞(0) 打赏
觉得文章有用就打赏一下文章作者
支付宝扫一扫打赏
微信扫一扫打赏