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

22 浏览
0 Comments

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

这个问题已经有了答案

如何检查变量是否存在?

我正在读取一百多万个文件,以抓取一些数据。这些文件通常非常统一,但偶尔会出现我期望找到的内容丢失的问题。

例如,我期望一些 SGML 代码可以识别出我需要的值

for data_line in temp  #temp is a list of lines from a file
    if  in data_line:
        VARIABLE_VAL=data_line.split('>')[-1]

后来我使用 VARIABLE_VAL

但有时候就会出现异常:文件中没有一行包含

theName

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

try:
    if VARIABLE_VAL:
        pass
except NameError:
    VARIABLE_VAL=somethingELSE

我曾经在某个地方看到过(但现在找不到了)一个解决方案,看起来像

if not VARIABLE_VAL:
    VARIABLE_VAL=somethingELSE

任何帮助将不胜感激

admin 更改状态以发布 2023年5月21日
0
0 Comments

Alex的解决方案是正确的。但是如果您确实想要测试变量是否存在,请尝试:

if 'VARIABLE_VAL' in locals():
    ....

0
0 Comments

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

VARIABLE_VAL = somethingELSE
for dataline in temp: ...

这样,除非在循环内绑定了其他值,否则VARIABLE_VAL将保持其初始默认值,您无需进行任何奇怪的测试来确保。

0