首先,我是Python的新手并且确实在寻找答案,但没有运气。到目前为止,我发现只返回一行,如下面的代码。我尝试了其他解决方案,例如itertools.islice
,但总是只返回一行。
我有一个名为data.txt的文件,其中包含数据行:
This is line one
This is line two
This is line three
This is line four
This is line five
This is line six
This is line seven
...
我有以下代码:
with open('data.txt', 'r') as f:
for x, line in enumerate(f):
if x == 3:
print(line)
在这种情况下,它只打印
“这是第四行”。
我明白为什么但是如何从这里开始并打印出第4,7,10,13行......?
答案 0 :(得分:0)
在您的代码中您在x == 3
时打印,因此您只打印文件中的第四行,因为枚举以0
开头。
尝试:
with open('data.txt', 'r') as f:
for x, line in enumerate(f):
if x%3 == 1:
print(line)
x%3 == 1
表示x
之前的3
分区的休息时间必须为1
。
这样您将打印行1, 4, 7, etc.
。
答案 1 :(得分:0)
您需要使用https://en.wikipedia.org/wiki/Modular_arithmetic
with open('data.txt', 'r') as f:
for x, line in enumerate(f):
if x % 3 == 0:
print(line)