当第一个失败时运行另一个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程序的生命周期中只存在一个副本)。