[Q] 如何忽略从文件读取的文本的第一行

你好,
我是Python的新手,有一个简单的问题,我找不到它
令人满意的解决方案.
我想从文本文件中逐行阅读文本,但要忽略
只有第一行.我知道如何在Java做到这一点(Java一直是我的
过去几年的主要语言)和以下是我
在python中,但我不喜欢它,想学习更好的方法
这样做.
file = open(文件名,'r')
亚麻师= 0
对于文件中的行:
如果亚麻== 0:
亚麻师=亚麻师 + 1
别的:
亚麻师=亚麻师 + 1
打印行
谁能向我展示做这类任务的更好?
提前致谢.

# 回答1


在2008年8月27日星期三21:11:26 -0700,yodeythdeyde*********@gmail.com写道:
input_file = open(文件名)
行= iter(input_file)
lines.next()#跳线.
对于行中的行:
打印行
input_file.close()
再见,
marc'blackjack'rintsch
# 回答2


8月28日,6:11*am," Youngjin.mich ...@gmail.com"
fileInput = open(文件名,'r')
对于lnnum,在枚举中行(文件插图):
如果不是lnnum:
继续
打印行
# 回答3


我想从文本文件中逐行阅读文本,但要忽略
在处理之前,为什么不阅读并丢弃第一行
其余的文件?
file = open(文件名,'r')
file.readline()
对于文件中的行:打印行,
(有用).
# 回答4

yodeythdeydedeyde*****@gmail.com写道:
linelist = open(fileName,'r').readlines()[1,]
对于线条中的线:
等等
# 回答5


Ken Starks 如果文件很大,您不想这样做.还,
您的意思是[1:]而不是[1,]
# 回答6


8月28日,11:53*am,ken Starks linelist = open(fileName,'r').readlines()[1,]
对于线条中的线:
* *等等
当您首先将整个文件加载到内存中时,这是不良的做法
这将导致类型错误(应该为'.ReadLines()[1:]')
# 回答7


8月27日,11:12 PM,Marc'Blackjack'Rintsch input_file = open(文件名)
行= iter(input_file)
lines.next()#跳线.
对于行中的行:
打印行
input_file.close()
再见,
马克"二十一点" Rintsch
文件对象是其自己的迭代器,因此您可以
做更多的事情:
input_file = open(文件名)
input_file.next()#跳线.
对于Input_file中的行:
印刷线,
input_file.close()
由于读取线包括终止
EOL字符,用"打印..."打印
避免添加额外的EOL.
如果OP需要在其他地方的行数
代码类似以下内容将起作用.
infile = open(文件名,'r')
对于亚历久伯,枚举(流动)中的线:
#从0开始枚举返回数字.
如果亚烯比== 0:继续
打印行,
# 回答8

ruxhy@yahoo.com写道:
这似乎也是提及(未经测试)的好时机:
从Itertools Import Islice
对于ISlice(Ifile,1,无)中的行:
打印行,
# 回答9

本杰明·卡普兰(Benjamin Kaplan)写道:
文件是迭代器,迭代器只能通过对象一次.只是
在进行for循环之前,请致电Next().另外,不要将"文件"用作
变量的名称.它覆盖了内置类型.
afile = open(file_name,'r')
afile.next()#just读取第一行,并且对此无能为力
对于AFILE的行:
打印行
------------------------------------------------------------------------------------ ------------------------------
-http://mail.python.org/mailman/listinfo/python-list
=================
实际上:
导入操作系统
file = open(文件名,'r')
对于文件中的行:
虚拟=线
对于文件中的行:
打印行
更干净,更快.
如果您需要行号,请预先准备,无论如何,请在需要的地方添加.
steve nodeby@@hughes.net
# 回答10


在2008年8月28日星期四10:16:45 -0700,Norseman写道:文件是迭代器,迭代器只能在for for for循环之前只能通过对象一次.另外,不要将"文件"用作变量名.它覆盖内置类型.afile = open(file_name,'r')afile.next()#just读取第一行,并且在afile中对IT不做任何事情:打印行
------------------------------------------------------------------------------------ ------------------------------
=================
实际上:
导入操作系统
file = open(文件名,'r')
对于文件中的行:
虚拟=线
对于文件中的行:
打印行
更干净,更快.
那不是更干净的,那是" WTF?"! ```
是否 *不 *迭代文件,而只是在那里跳过第一行
和一个完全无用的"虚拟"名称.这很丑陋,
令人困惑.
再见,
marc'blackjack'rintsch
# 回答11


圣地亚哥罗梅罗写道:
在处理之前,为什么不阅读并丢弃第一行
其余的文件?
file = open(文件名,'r')
file.readline()
对于文件中的行:打印行,
我相信file.readline()将比file.next()更好地工作
大多数目的是因为后者会在空文件上提出停止
而file.readline()仅返回''.
# 回答12


丹尼斯·李·比伯(Dennis Lee Bieber)在2008年8月28日15:11:39 -0700上写道:这不是更干净的,那是" WTF?"! ````一个for''file'file'do do do * do dy * tof * to the File的行,而是在那里跳过第一行,完全无用```虚拟名称''.这很丑陋和概括.
很高兴看到其他人被那个代码样本冒犯了
就像我一样 - 我只是缺少词汇来整洁地放置它,所以
没有回应.
是的,"虚拟"陈述可以完全删除到同一
效果 - 仍然留下无用的外循环...
尽管如此,我刚刚在两个代码段上进行了一些时间标准测试,
让我的 *很棒 *惊喜第二个丑陋的片段一直是
即使剩下毫无意义的导入和虚拟语句,Smidgen也更快.
这是如此违反直觉,我想知道我是否做了什么
错误,或者是某种磁盘缓存的奇特副作用或
某物.但是进一步的调查将不得不 等待以后. 如果有人想进行自己的计时测试,请不要忘记关闭 明确的文件,否则timeit()将(我认为...)简单地迭代 除了第一次迭代以外的所有eof. - - 史蒂文
# 回答13

8月28日,3:47*AM,Santiago Romero

标签: python

添加新评论