如果我運行這些內容(flags.py)通過pylint3:我該如何讓pylint不抱怨全局argparse.Namespace?
import argparse
FLAGS = argparse.Namespace()
_PARSER = argparse.ArgumentParser()
_PARSER.add_argument('--edit', action='store_true')
_PARSER.parse_args(sys.argv, namespace=FLAGS)
def test():
print(FLAGS.edit)
在其他錯誤(我知道如何解決),我得到這個錯誤:
E: 12,8:test: Instance of 'Namespace' has no 'edit' member
我可以解決這個問題通過不使用namespace
參數parse_args
,但是我用的是namespace
參數,因爲它可以讓我做
from flags import FLAGS
FLAGS.edit
任何地方我想訪問我的國旗而不是:
import flags
flags.FLAGS.edit
這是,國際海事組織,很多醜陋。
我很想有辦法平息這個錯誤信息,特別是在這個FLAGS對象上。有沒有辦法做到這一點?我也會開放一些更好的做旗幟的方法,雖然這可能不是關於這個問題的主題,而且,是的,我知道這涉及全局狀態,即Bad(TM)。喜歡它,因爲命令行參數是全球性的,無論如何,這似乎是做給我)
編寫'from flags import FLAGS'和訪問'FLAGS'並編寫'import flags'並訪問'flags.FLAGS'沒有區別。使用'namespace'關鍵字參數獨立於此。 –