我正在努力了解我的read功能发生了什么.我只是在做一个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()
Run Code Online (Sandbox Code Playgroud)
我的文本文件如下
w
o
r
d
s
Run Code Online (Sandbox Code Playgroud)
my_file.readline(3)从第一行读取最多 3个字节.第一行包含a w和行尾字符.
如果要读取前3个字节而不管该行,请使用my_file.read(3).请注意,行尾字符包含在计数中.
如果要打印前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)
Run Code Online (Sandbox Code Playgroud)
要么
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)
Run Code Online (Sandbox Code Playgroud)
对于短文件,您可以改为使用
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)
Run Code Online (Sandbox Code Playgroud)
但请注意,它my_file.readlines()返回文件中所有行的列表.如果文件很大,这可能会占用大量内存,并且由于通常可以逐行处理文件(内存密集程度要低得多),通常首选两种读取文件的方法超过三分之一.