python - 我必须在 python 中找到带有服务 ID 的 pidlist 和 pmtpid
问题描述
文件内容:
serviceid=2251:tsid=6:orignetwid=99:access=clear:pids=3:clearpids=3:scrambledpids=0:packets=2315:bitrate=1745711:bitrate204=1894282:servtype=1:pmtpid=3251:pcrpid=5251:pidlist=3251,5251,6251
代码:
file = open('t5001.txt','r')
file1 = file.read()
file2 = file1.split(":")
Input = input("Enter The Service ID :- ")
for i in file2:
if Input in i:
print(i)
file.close()
我已经写了这段代码但没有得到答案我只是犯了一个愚蠢的错误没有得到任何人都可以帮助我
解决方案
更好的方法是:创建一个字典并保存所有项目,以便以后轻松检索它:
d = {}
for item in file.read().split(':'):
key, value = item.split('=')
d[key] = value
print(d)
# output
# {'serviceid': '2251', 'tsid': '6', 'orignetwid': '99', 'access': 'clear', 'pids': '3', 'clearpids': '3', 'scrambledpids': '0', 'packets': '2315', 'bitrate': '1745711', 'bitrate204': '1894282', 'servtype': '1', 'pmtpid': '3251', 'pcrpid': '5251', 'pidlist': '3251,5251,6251'}
如果要获取列表['3251','5251','6251']
而不是纯字符串3251,5251,6251
,请再添加一个条件检查:
d = {}
for item in file.read().split(':'):
key, value = item.split('=')
if ',' in value:
d[key] = value.split(',')
else:
d[key] = value
print(d['pidlist'])
# output
# ['3251','5251','6251']
一旦你构建了字典d
,事情就变得简单了:
if Input == d['serviceid']:
print('pidlist: ', d['pidlist'])
print('pmtpid: ', d['pmtpid'])
推荐阅读
- python - skimage.util.random_noise 方法的“salt_vs_pepper”参数如何影响生成的图像?
- javascript - 如何仅在 (JavaScript) 中的第一个函数完成后触发函数
- enzyme - 不能阻止 kusama 用酶在底物中进行质押
- java - 可执行 JAR 执行不同于 eclipse 执行
- squarespace - 本地添加squarespace开发者模式的静态页面
- java - 如何测试没有参数的 void 方法?
- go - 将 JWK json 转换为公钥 golang (lestrrat-go)
- matplotlib - 在 Matplotlib 中向 3D 集合添加矩形补丁和文本补丁
- ios - Observables 绑定 2 个文本字段
- scala - 将 Akka Graph DSL Stream 返回类型转换为 Future[T] 而不是 T(等待)