Python NameError: name 'argv' 'getopt' is not defined

错误:NameError: name 'getopt' is not defined

原因:没有引入模块,脚本里添加下面内容

import getopt

  

错误:NameError: name 'argv' is not defined

原因:没有给 main() 函数传入 argv 参数。即便多次跳转函数,也要带上 argv 参数。

## 检查函数
def check(argv):
    ## 参数获取
        try:
            opts, args = getopt.getopt(argv, "hd:D:",["help", "user_dir=", "Description="])
        except getopt.GetoptError:
            print("\n[ Error] 未知参数,请检查。")
            Usage()
            sys.exit(-3)
        
        ## 参数解析
        for opt, arg in opts:
            if opt in ("-h", "--help"):
                Usage()
                sys.exit(-4)
            elif opt in ("-d", "--user_dir"):
                user_object_Dir = arg
            elif opt in ("-D", "--Description"):
                user_Description_file = arg

## 执行主函数
def main(argv):
    check(argv)

## 程序入口
if (__name__ == '__main__') or (__name__ == 'main'):
    main(sys.argv[1:])

  

posted @ 2022-12-02 14:39  悟透  阅读(291)  评论(0)    收藏  举报