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

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

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

1
import getopt

  

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## 检查函数
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 @   悟透  阅读(242)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2020-12-02 etcd-manager (etcd的可视化客户端)
点击右上角即可分享
微信分享提示