编写带命令行参数的python脚本 本文共有1236个字,关键词: ``` 1 #encoding=utf-8 2 3 import getopt 4 import sys 5 6 def main(argv): 7 try: 8 options, args = getopt.getopt(sys.argv[1:], "hp:i:", ["help", "ip=", "port="]) 9 except getopt.GetoptError: 10 sys.exit() 11 12 for option, value in options: 13 if option in ("-h", "--help"): 14 print("help") 15 if option in ("-i", "--ip"): 16 print("ip is: {0}".format(value)) 17 if option in ("-p", "--port"): 18 print("port is: {0}".format(value)) 19 20 print("error args: {0}".format(args)) 21 22 if __name__ == '__main__': 23 main(sys.argv[1:]) ``` 一、getopt模块 主要用到了模块中的函数: options, args = getopt.getopt(args, shortopts, longopts=[]) 参数args:一般是sys.argv[1:]。过滤掉sys.argv[0],它是执行脚本的名字,不算做命令行参数。 参数shortopts:短格式分析串。例如:"hp:i:",h后面没有冒号,表示后面不带参数;p和i后面带有冒号,表示后面带参数。 参数longopts:长格式分析串列表。例如:["help", "ip=", "port="],help后面没有等号,表示后面不带参数;ip和port后面带冒号,表示后面带参数。 返回值options是以元组为元素的列表,每个元组的形式为:(选项串, 附加参数),如:('-i', '192.168.0.1') 返回值args是个列表,其中的元素是那些不含'-'或'--'的参数。 在命令行运行下述命令: python test_getopt.py -i 192.168.0.1 -p 80 123 a 或 python test_getopt.py -ip=192.168.0.1 --port=80 123 a × yihong (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 码农心得,Python 2022-10-12 评论 982 次浏览