这听起来像是"迭代文件直到满足条件"的问题(我已经检查过了),但它对我不起作用。
给定一个SRT文件(任意)srtDir
,我想转到索引choice
并获取时间码值和标题值。
我执行了以下操作,该操作应该迭代SRT文件,直到满足条件:
import os
srtDir = "./media/srt/001.srt"
index = 100 #Index. Number is an examaple
found = False
with open(srtDir, "r") as SRT:
print(srtDir)
content = SRT.readlines()
content = [x.strip() for x in content]
for x in content:
print(x)
if x == index:
print("Found")
found = True
break
if not found:
print("Nothing was found")
正如所说,它应该迭代直到找到索引,但它返回"什么都没有找到",这很奇怪,因为我可以看到屏幕上打印的数字。
我做错了什么?
(我已经检查了图书馆,AFAIK,没有人可以返回时间码和字幕给定的索引)
1条答案
按热度按时间mtb9vblg1#
您的代码中存在类型不匹配:
index
是int
,但是循环中的x
是str
。在Python中,100 == "100"
的计算结果是False
。这种bug的解决方案是采用一个定义良好的数据模型,并编写一致地应用它的库方法。然而,对于这样的事情,最好不要重新发明轮子,让其他人为你做无聊的工作。
参见: