我想知道是否有可能让python忽略我的文本文件的前4行。就像我有一个看起来像这样的文本文件:
aaa
aaa
aaa
aaa
123412
1232134
我可以这样做,以便python从数字开始工作吗?
答案 0 :(得分:3)
使用next
和循环:
with open("/path/to/myfile.txt") as myfile:
for _ in range(4): # Use xrange here if you are on Python 2.x
next(myfile)
for line in myfile:
print(line) # Just to demonstrate
因为file objects是Python中的迭代器,所以每次执行next(myfile)
时都会跳过一行。
答案 1 :(得分:0)
这应该可以解决问题
f = open('file.txt')
for index,line in enumerate(f):
if index>3:
print(line)
答案 2 :(得分:0)
假设您知道要丢弃的行数,可以使用以下方法:
for i, line in enumerate(open('myfile')):
if i < number_of_lines_to_discard:
continue
# do your stuff here
或者如果您只想忽略非数字行:
for line in open('myfile'):
if not re.match('^[0-9]+$\n', line):
continue
# do your stuff here
答案 3 :(得分:0)
更强大的解决方案,而不是依赖于确切的行数:
with open(filename) as f:
for line in f:
try:
line = int(line)
except ValueError:
continue
# process line