我正在用for循环和if语句在Python中创建一个文本文件,以确定行中是否有某些元素并返回这些元素。如果我的元素与键在同一行,这就足够简单了,但是我不知道如何创建txt文件的“子块”,然后只遍历这些子块。你知道吗
我的意思是,如果我有
WKU D02807769
SRC 6
APN 427637&
APT 4
ART 292
APD 19820929
TTL Athletic shoe with pocket
ISD 19851001
NCL 1
ECL 1
EXP Holtje; Nelson C.
NDR 2
NFG 4
TRM 14
INVT
NAM Gamm; Robert J.
CTY St. Louis
STA MO
ASSG
NAM Kangaroos U.S.A., Inc.
CTY St. Louis
STA MO
COD 02
RLAP
...
...
UREF
PNO D110163
ISD 19380600
NAM Andrews
UREF
PNO D116598
ISD 19390900
NAM Pick
UREF
PNO D130845
ISD 19411200
NAM Pick
UREF
通过查找WKU返回“D02807769”非常简单,但是如果我只想查看(例如)ASSG之后但下一个标记之前的元素(在本例中为“RLAP”,但它可以是其他内容,尽管行数相同),我不确定如何继续。你知道吗
例如,如果我想返回ASSG下NAM(“Kangaroos U.S.A.,Inc.”)的值,而不是文件中NAM的其他值,我不知道该怎么做。你知道吗
我试过一句话: 而line.startswith开始(“ASSG”)或len(line)>;4:
但这似乎给了我一个无限的循环。我也试过了
line.next()
但出现了一个错误AttributeError:'_io.TEXTIO包装器'对象没有属性'next'
我不知道如何找到这些间接块来搜索我要找的东西。我想这是某种for循环,但我不知道该怎么写
将搜索值分为两个步骤:
如果在步骤2中找到其他类别,请中止搜索。你知道吗
试运行:
或者,可以使用regex:
这个正则表达式做了几乎相同的事情-它搜索一个等于“ASSG”的行,然后搜索一个以“NAM”开头的行,如果它找到一个只包含一个单词的行,则中止搜索。你知道吗
相关问题 更多 >
编程相关推荐