Best way to test for existence of a variable in Python
本问题已经有最佳答案,请猛点这里访问。
我正在读超过一百万个文件来搜集一些数据。这些文件通常都很统一,但有时会出现一些问题,我希望能找到的东西不存在。
例如,我期望一些SGML代码来标识我需要的值
1 2 3 | 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] |
后来我用了
1 | <VARIABLENAME>theName |
要处理此问题,我在处理完所有行后添加了此行:
1 2 3 4 5 | try: if VARIABLE_VAL: pass except NameError: VARIABLE_VAL=somethingELSE |
我在某个地方(但我再也找不到)看到了一个解决方案
1 2 | if not VARIABLE_VAL: VARIABLE_VAL=somethingELSE |
任何帮助都将不胜感激
只需在循环之前将变量初始化为其默认值:
1 2 | VARIABLE_VAL = somethingELSE for dataline in temp: ... |
这样,除非绑定到循环中的其他内容,否则
亚历克斯的解决方案是正确的。但是,如果您想测试变量是否存在,请尝试:
1 2 | if 'VARIABLE_VAL' in locals(): .... |