如何在python中读取具有指定条件的文本文件?

2024-04-26 23:31:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文件,我想提取包含某些短语的行数(原子位置(埃)和K点(自动))

n = -1
with open(filename) as f:
     for line in f:
          n += 1
          if line  == "ATOMIC_POSITIONS (angstrom)":
               print('test1')
               start = n
          elif line  == "K_POINTS (automatic)":
               print('test2')
               end = n

print(start, end)

我的问题是python没有进入if语句(即test1和test2没有被打印)

但我确信文件名包含短语,这是文件名的一小部分:

0.000000613 0.000000613 1.022009120

原子位置(埃)

现金1.696797551 1.714436737-0.068349117


Tags: forif文件名aswithlineopenfilename
1条回答
网友
1楼 · 发布于 2024-04-26 23:31:08

简单地说:你的条件不符合"=="检查是否相等,这在您的案例中可能不正确(参见注释)

在检查文件行中的字符串时,我会尝试以下方法:

n=-1
with open(filename) as f:
     for line in f:
          n += 1
          if  "ATOMIC_POSITIONS (angstrom)" in line:
               print('test1')
               start = n

相关问题 更多 >