在Python中测试变量是否存在的最佳方法

PyN*_*bie 2 python

我正在阅读一百多万个文件来删除一些数据.这些文件通常非常统一,但偶尔也会出现我希望找不到的东西.

例如,我希望一些sgml代码能够识别我需要的值

for data_line in temp  #temp is a list of lines from a file
    if <VARIABLENAME> in data_line:
        VARIABLE_VAL=data_line.split('>')[-1]
Run Code Online (Sandbox Code Playgroud)

后来我用了VARIABLE_VAL.但我有时会得到一个例外:文件中没有行

<VARIABLENAME>theName
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我在处理完所有行后添加了这一行:

try:
    if VARIABLE_VAL:
        pass
except NameError:
    VARIABLE_VAL=somethingELSE
Run Code Online (Sandbox Code Playgroud)

我已经看到了某个地方(但我找不到了)一个看起来像的解决方案

if not VARIABLE_VAL:
    VARIABLE_VAL=somethingELSE
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

Ale*_*lli 7

只需在循环之前将变量初始化为其默认值:

VARIABLE_VAL = somethingELSE
for dataline in temp: ...
Run Code Online (Sandbox Code Playgroud)

这样,VARIABLE_VAL除非绑定到循环中的其他内容,否则将保留其初始默认值,并且您无需进行任何奇怪的测试以确保这一点.