[英]Python File readline() method skipping specific lines of my source file?
[英]Python 3.2 - readline() is skipping lines in source file
我有一个用多行创建的 .txt 文件。
当我使用计数累加器运行 for 循环时,它会跳过行。
它跳过第一行,从第二行开始,打印第四行,第六行,等等......
我错过了什么?
** for your reading pleasure**
def main():
# Open file line_numbers.txt
data_file = open('line_numbers.txt', 'r')
# initialize accumulatior
count = 1
# Read all lines in data_file
for line in data_file:
# Get the data from the file
line = data_file.readline()
# Display data retrieved
print(count, ": ", line)
# add to count sequence
count += 1
尝试完全删除“line=data_file.readline()”? 我怀疑“for line in data_file:”也是一个 readline 操作。
您的 for 循环正在遍历 data_file 并且您的 readline() 正在与之竞争。 为此结果擦除代码的line = data_file.readline()
行:
# Read all lines in data_file
count = 1
for line in data_file:
# Display data retrieved
print(count, ": ", line)
# add to count sequence
count += 1
for line in data_file
已经为您获取了每一行的文本 - 随后对 readline 的调用将获取以下行。 换句话说,删除对 readline 的调用将做你想做的事。 同时,您不需要自己跟踪累加器变量 - python 有一种使用enumerate
的内置方法 - 换句话说:
data_file = open('line_numbers.txt', 'r')
for count, line in enumerate(data_file):
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.