为什么这个读线会以这种方式迭代,我该如何修复它

  • 本文关键字:迭代 何修复 方式 python
  • 更新时间 :
  • 英文 :


我有以下内容:

with open('deltas11min.txt', 'r') as f:

for line in f:


f_str = str(f.readline())
firstchar = f_str[:1]


if firstchar == 'a':

等等。。。

在Spyder中运行时,我发现当它运行行firstchar = f_str[:1]时,它没有分配文本文件第一行的第一个字符值,而是读取下一行并将其分配为f_str

为什么会发生这种情况,我该怎么做呢?我想从文本文件中读取一行,然后将第一个字符记录为变量。

open返回一个可迭代文件,该可迭代文件生成文件中的所有行。for循环已经在文件中的行上进行了迭代,因此不需要调用readline

for line in f:
if line.startswith("a"):
# Do something...

readline告诉解释器转到下一行,然后读取它。它主要用于有while循环的情况。

for line in f:
firstchar = line[0] # Use first index, not list splicing
if firstchar == 'a':
#  ...

最新更新