首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我尝试用python只打印文件的前5行

我尝试用python只打印文件的前5行
EN

Stack Overflow用户
提问于 2020-01-30 03:35:54
回答 2查看 44关注 0票数 0

我只想打印文件的前5行,但当行数超过5行时,它会多次打印这些行。下面是我的代码:

代码语言:javascript
复制
numLines = 0
with open("points_sorted", "r") as f:
  for line in f:
    pointsList = line.split()
    numLines += 1
    if numLines >= 5:
      from itertools import islice
      with open("points_sorted") as myfile:
        head = list(islice(myfile, 5))
        print(head)

这是我的档案:

代码语言:javascript
复制
101 
87 M
71 Ko
55 Ko
15 Ko
15 M
0 M Ko

有人能帮我完成我的程序吗?

EN

回答 2

Stack Overflow用户

发布于 2020-01-30 03:57:36

在满足条件后,可以使用break语句退出循环:

代码语言:javascript
复制
numLines = 0
with open("points_sorted", "r") as f:
  for line in f:
    pointsList = line.split()
    numLines += 1
    if numLines >= 5:
      break

您还可以使用enumerate(),这样就不必手动计算行数:

代码语言:javascript
复制
with open("points_sorted", "r") as f:
  for numLines, line in enumerate(f):
    pointsList = line.split()
    if numLines >= 4: # counting now starts at 0 instead of 1
      break
票数 0
EN

Stack Overflow用户

发布于 2020-01-30 04:04:18

你可以这样试一试

f.readline()允许两个人逐行读取文件

代码语言:javascript
复制
with open("points_sorted", "r") as f:
 cnt = 5
 while(cnt > 0):
   pointsList = f.readline().split()
   cnt = cnt -1

您可以在while循环之间进行任何操作,并根据需要修改计数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59974366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档