【发布时间】:2018-04-12 12:26:55
【问题描述】:
我正在尝试读取一个文件(读取该文件中的每一行,包括字母、数字和字符)。该脚本需要正常工作,文件将相似但有一些变化。
现在它会在发现一行如下所示时读取:“**HWCOLOR COMP 1066 30”。我需要脚本读取所有行,直到找到“ **HW ”。下面的脚本适用于解释的第一个问题。
如何编写脚本来读取文件,直到找到“**HW”并停在那里?
我尝试将 '**HWCOLOR COMP 1066 30" 替换为 **HW" 但它不起作用,因为所有字符都不匹配。
data = []
with open('valvebody_nodes_rec.txt') as f:
# Skips text before the beginning of the interesting block:
for line in f:
if line.strip() == '*NODE, SYSTEM=R':
break
# Reads text until the end of the block:
for line in f:
if line.strip() == '**HWCOLOR COMP 1066 30':
break
data.append([x.strip() for x in line.split(',')]) #intersect text
【问题讨论】:
-
您是否尝试使用:if line.startswith("**HW"): 作为条件
-
行 begin 是否以您要查找的字符串开头?它们是唯一上线的内容吗?
-
@Kenstars 从来没想过。我会试试的。
-
@pstatix 只有内容就行了。该行将始终以“**HW ...”开头。
标签: python filereader