Skip to main content
 首页 » 编程设计

python之不理解 Python 中的读取命令

2025年05月04日14wayfarer

我正在尝试了解我的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() 返回一个包含 所有 行的列表 文件。因为如果文件很大,这可能会非常占用内存,并且因为它 通常可以逐行处理文件(这要少得多 内存密集型),通常前两种读取文件的方法是 优于第三种。