Я использую следующий метод isset(var)
, чтобы определить, существует ли переменная.Проверьте, существует ли переменная
def isset(variable):
try:
variable
except NameError:
return False
else:
return True
Он возвращает True
, если существует переменная. Но если переменная не существует, я получаю следующее:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/lenovo/pyth/master/vzero/__main__.py", line 26, in <module>
ss.run()
File "vzero/ss.py", line 4, in run
snap()
File "vzero/ss.py", line 7, in snap
core.display()
File "vzero/core.py", line 77, in display
stdout(session(username()))
File "vzero/core.py", line 95, in session
if isset(ghi): #current_sessions[user]):
NameError: global name 'ghi' is not defined
Мне не нужны все эти ошибки. Я просто хочу, чтобы он вернул False. Нет выхода. Как я могу это сделать?
Ваша функция не будет работать, потому что вы передаете переменную вашей функции, которой не существует. В противном случае ваш код в порядке. –