【发布时间】:2021-10-19 20:26:49
【问题描述】:
我有一个名为 file.txt 的文本文件
如下所示:
0, 1, 2. |classes
A0: 1, 2, 3
A1: 1, 2, 3
A2: 1, 2, 3
A3: 1, 2, 3, 4
| Final Pseudo Deletion Count is 0. Optimisaiton not possible.
我只想从这个文件中取出属性名称:A0、A1、A2、A3。我该怎么做?
我的意思是对于这个特定文件,它只是A0,A1,A2,A3,但我想要一般文件的输出。可以有A0,A1.....An。如下:
0, 1, 2. |classes
A0: 1, 2, 3
A1: 1, 2, 3
A2: 1, 2, 3
A3: 1, 2, 3, 4
A4: 1, 2, 3
A5: 1, 2, 3, 4
| Final Pseudo Deletion Count is 0. Optimisaiton not possible.
所以在这种情况下,输出将包含A0, A1, A2, A3, A4, A5。
我试过这样:
f = open('filename1.txt')
attrib1 = f.readline()
attrib = []
for i in range(1, len(attrib1)-1):
v_pos_colon = attrib1[i].find(':')
attrib.append(attrib[i][0:v_pos_colon])
print(attrib)
【问题讨论】:
-
不需要正则表达式。只需检查该行是否包含
:。如果是,则拆分该行并输出line[0]。 -
StackOverflow 不是免费的编码服务。你应该try to solve the problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
-
是的,我已经编辑了我的问题。
-
f.readline()只返回一行。你的意思是使用f.readlines()? -
是的,应该是 f.readlines()
标签: python python-3.x python-re