2
変数が存在するかどうかを調べるには、次のメソッド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を返すだけです。出力はありません。これどうやってするの?代わりに、複雑なヘルパー関数isset
を書いて、あなたは、変数の存在をか確認したい場所に
if not isset('variable_name'):
# handle the situation
それを呼び出すの
あなたの機能が動作しません、存在しない関数に変数を渡しているからです。さもなければあなたのコードは大丈夫です。 –