我正在尝试了解我的read
函数发生了什么。我只是在对我在 canopy 中创建的文本文档执行 readline
操作。出于某种原因,它只为我输入的任何值提供 w
。我是 Python 世界的新手,所以我确信这是一个简单的答案!感谢您的帮助!
import os
my_file = open(os.path.expanduser("~/Desktop/Python Files/Test Text.txt"),'r')
print my_file.readline(3)
my_file.close()
下面是我的文本文档
w
o
r
d
s
最佳答案
my_file.readline(3)
从第一行开始读取最多 3 个字节。
第一行包含一个 w
和一个行尾字符。
如果您想读取前 3 个字节 而不管行,请使用 my_file.read(3)
。请注意,行尾字符包含在计数中。
如果你想打印前三行,你可以使用
import os
with open(os.path.expanduser("~/Desktop/Python Files/Test Text.txt"),'r') as my_file:
for i, line in enumerate(my_file):
if i >= 3: break
print(line)
或
import itertools as IT
with open(os.path.expanduser("~/Desktop/Python Files/Test Text.txt"),'r') as my_file:
for line in IT.islice(my_file, 3):
print(line)
对于短文件,您可以改用
with open(os.path.expanduser("~/Desktop/Python Files/Test Text.txt"),'r') as my_file:
lines = my_file.readlines()
for line in lines[:3]:
print(line)
但请注意,my_file.readlines()
返回一个包含 所有 行的列表
文件。因为如果文件很大,这可能会非常占用内存,并且因为它
通常可以逐行处理文件(这要少得多
内存密集型),通常前两种读取文件的方法是
优于第三种。
关于python - 不理解 Python 中的读取命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31416783/