我有一个名为log.txt的文本文件。
1.a Receiver Type : REC-1
Satellite System : GPS
Serial Number : A123
1.b Receiver Type : REC-2
Satellite System : GPS
Serial Number : B456
1.c Receiver Type : REC-3
Satellite System : GPS
Serial Number : C789
我能够在“卫星系统”和“序列号”的冒号':'之后打印值。但由于“接收器类型”行前面的3个字符,我不能对“接收器类型”执行相同的操作。我能做到这一点吗?有没有办法多次拆分一条线?完全是Python新手。因此,任何有助于我推动球滚动的内容都将受到高度赞赏。感谢。
这是我目前拥有的代码,它只会在冒号后打印“卫星系统”和“序列号”的值。
with open('log.txt', 'r') as Log:
for line in Log:
if line.split(':')[0].strip() == 'Satellite System':
sat_sys = line.split(':')[1].strip()
print sat_sys
if line.split(':')[0].strip() == 'Serial Number':
ser_num = line.split(':')[1].strip()
print ser_num
答案 0 :(得分:0)
.strip()会让事情搞砸而不是.split(":"),但你可以这样做:
with open('log.txt', 'r') as Log:
for line in Log:
header = line.split(':')[0]
if 'Satellite System' in header:
sat_sys = line.split(':')[1].strip()
print sat_sys
elif 'Serial Number' in header:
ser_num = line.split(':')[1].strip()
print ser_num
elif 'Receiver Type' in header:
rec_typ = line.split(':')[1].strip()
print rec_typ