顶顶大名的Guido van Rossum(Python之父)推荐的main写法:

#!/usr/bin/python

import sys

import getopt

class Usage(Exception):

def __init__(self, msg):

self.msg = msg

def main(argv=None):

if argv is None:

argv = sys.argv

try:

try:

opts, args = getopt.getopt(argv[1:], "h", ["help"])

except getopt.error, msg:

raise Usage(msg)

except Usage, err:

print >>sys.stderr, err.msg

print >>sys.stderr, "for help use --help"

return 2

if __name__ == "__main__":

sys.exit(main())

getopt模块用于抽出命令行选项和参数,也就是sys.argv。

命令行选项使得程序的参数更加灵活。支持短选项模式和长选项模式

opts, args = getopt.getopt( sys.argv[1:], shortargs, longargs )

getopt.getopt ( [命令行参数列表], '短选项', [长选项列表] )

>>> import getopt, sys

>>> arg = '-a -b -c foo -d bar a1 a2'

>>> optlist, args = getopt.getopt( sys.argv[1:], 'abc:d:' )

>>> optlist

[('-a', ''), ('-b', ''), ('-c', 'foo'), ('-d', 'bar')]

>>> args

['a1', 'a2']

>>> arg = '--condition=foo --testing --output-file abc.def -x a1 a2'

>>> optlist, args = getopt.getopt( sys.argv[1:], 'x', ['condition=', 'output-file=', 'testing'] )

>>> optlist

[ ('--condition', 'foo'), ('--testing', ''), ('--output-file', 'abc.def'), ('-x','') ]

>>> args

['a1', 'a2']

参考http://www.jb51.net/article/50067.htm

标签:__,python,args,argv,sys,msg,getopt,main,写法

来源: https://www.cnblogs.com/pejsidney/p/12258860.html

python def main return,python中main()函数写法相关推荐

  1. 【Python——类】 同一个类中一个函数里调用另一个函数的方法

    [Python-类] 同一个类中一个函数里调用另一个函数的方法 class Solution:def a(self):self.b() # 注意这种写法:self.类名def b(self):prin ...

  2. python调用php命令行,python调用php函数 python怎样调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...

  3. python如何调用dll库中的函数_Python调用dll库接口-ctypes方法

    背景 最近需要用python写个脚本程序(win10 环境),需要调用现成的dll库完成这项任务,对于一直在Linux平台上开发程序的本人来说,从没有过使用dll的经历(不得不说还是so大法好),遇到 ...

  4. python display 报错_Python中的函数(三)

    Python中的函数(三) 在前面两篇文章中已经探讨了函数的一些相关用法,下面一起来了解一下函数参数类型的问题.在C语言中,调用函数时必须依照函数定义时的参数个数以及类型来传递参数,否则将会发生错误, ...

  5. format函数python是什么意思_python中format函数指的是什么意思

    python中format函数指的是什么意思 发布时间:2020-11-05 13:52:38 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下python中format函数指的是什么意思,相 ...

  6. python的id方法_python中id()函数的实用研究实例

    python中id()函数的实用研究实例 >>> a = 2.5 >>> b = 2.5 >>> c = b >>> a is ...

  7. linux中main数据手册,linux中main()函数中参数来源.doc

    linux中main()函数中参数来源 爷而吐裁报讲际芋兽胳缎扒孩员斜阀裔坤且闺获汕秉鳃鞭牲储访电叔麦篷院杰梆滑廊木屹炯历蛋糯诛忙宇倚角缄蔫牲詹狙凄聂脑棵枷团尖枷蝶滞忽唱专迟适苞校驶劫屏列佛束蚂庐悬刽 ...

  8. 【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解

    findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表. 注意: match 和 search 是匹配一次 findall 匹配所有,mat ...

  9. python怎么创建变量_Python中通过函数对象创建全局变量

    标签: 先看下面这段代码,显然无法work. 因为代码试图在TestVariableScope()中引用一个没有被定义的变量a.所以必须报错,如下图-1. 不过如果你将第2行代码注释掉.代码就能跑通了 ...

最新文章

  1. What's going to be? 2016-Oct-12
  2. python 执行shell命令行效率提升_在python脚本中执行shell命令的方法
  3. 算法设计与分析——回溯法——圆排列问题
  4. NOIP 2012 Day2
  5. oracle 对表空间 #039;users#039; 无权限,ORA-01950: 对表空间 'USERS' 无权限
  6. python工资这么高为什么不学-为什么我不建议你学Python?
  7. 转:SQL注入攻击的原理
  8. 排序算法-归并排序详细讲解(MergeSort)
  9. python小欢喜(八)俄罗斯方块 (12) 添加游戏音效
  10. 传智播客毕向东 Java
  11. matlab 报童 泊松分布函数,数学建模和工科数学分析(2)
  12. 日常生活中使用计算机要注意事项有哪些,笔记本电脑日常使用注意事项以及保养技巧...
  13. 完美世界-游戏Java开发工程师-一面
  14. 器械传递的方法_手术器械的传递方法
  15. mate40pro会搭载鸿蒙,华为 Mate40Pro 4G 版本入网,出厂搭载鸿蒙系统
  16. 【DP练习】月饼盒(提高版)(vijos1255)
  17. 六、线性方程组求解--Jacobi和Gauss-Seidel迭代求解
  18. 招生难、管理难!教育如何实现零流失、高增长?教育行业如何玩转“私域流量”?...
  19. 如何高效阅读一本纸质书
  20. 再谈编程-----终结QQ空间写技术文章

热门文章

  1. 子站间 携带cookie_JavaScript cookie 不同子域名之间共享
  2. 正则表达式之?、(?:pattern)、(?!pattern)、(?=pattern)理解及应用
  3. 服务器挖chia用什么系统,Chia是什么?Chia挖矿服務器配置
  4. 一加7充电_夜话丨一加7超级快充明天见
  5. 常用的linux命令与示例,linux常用命令及用法示例
  6. linux apache无法启动,linux mysq 无法启动 apache 无法启动
  7. 2021年人工神经网络第一次作业要求
  8. 2021年春季学期-信号与系统-第十四次作业参考答案
  9. 手持发光棒的结构解析
  10. RT-Thread逐飞-智能车培训之MM32芯片应用