当第一个失败时运行另一个if语句
我有一些代码parsing一些html行,并拉出一个数字(string),它都被导出到一个Excel表。 在某些情况下,没有数字是因为当脚本正在寻找parsinghtml代码的时候被引导到错误的行,并且因此它正在寻找拆分行的位置不存在。 这只是将Excel电子表格中的单元格留空。
我想要脚本检查HTML代码中的不同的行来parsing,如果第一个结果是无。 这就是我正在做的,但没有任何效果:
if position0 > 0 : self.high0 = lines[line_number + 4].split('&')[0].split('>')[-1] self.low1 = lines[line_number + 18].split('&')[0].split('>')[-1] if self.low1 == None: self.low1 = lines[line_number + 17].split('&')[0].split('>')[-1]
任何想法如何实现这一目标? 一般来说,我并不擅长编程,我相信有一些很简单的东西我错过了。 谢谢!
self.low1
永远不会是None
因为它是一个string( '>'
分隔后的最后一个元素)。 你想比较''
if self.low1 == '':
或者只是比较它的真实性:
if not self.low1:
str.split()
总是返回一个string,即使分割失败, self.low1
也不会被设置为None
。
相反,我怀疑你会得到一个空白的string:
if not self.low1:
对于空string和None
都是True
。
请注意,通常情况下,您应该使用“ is None
而不是== None
,因为“ None
是一个单例(在Python程序的生命周期中只存在一个副本)。