首页 > 编程语言 >Python笔记-脚本参数传递

Python笔记-脚本参数传递

时间:2022-12-03 10:05:15浏览次数:47  
标签:test1 help Python py value 参数传递 test 笔记 print


编写Python脚本,经常需要从外部传递参数,此时需要用到 getopt 和 sys。
语法如下:
getopt.getopt(args, shortopts, longopts=[])
args 参数列表
shortopts 短参数,如:-h
longopts 长参数,如:–help

sys.argv[] 是一个列表,包含命令行所有信息
sys.argv[0] 是被调用的脚本文件名或全路径
sys.argv[1:] 之后的元素就是我们从程序外部输入的

示例:

import getopt
import sys

def print_help():
print('\n-a value of a')
print('\n-b value of b')
print('\n-c value of c')
print()

value_a = ''
value_b = ''
value_c = ''

if len(sys.argv) <= 1:
print("\n -h --help\n")
sys.exit()
try:
opts,args=getopt.getopt(sys.argv[1:],"a:b:c",['help'])
except getopt.GetoptError:
print_help()
sys.exit
else:
for opt,arg in opts:
if opt == '-a':
value_a = arg
if opt == '-b':
value_b = arg
if opt == '-c':
value_c = arg
if opt in ('-h','--help'):
print_help()
sys.exit

if len(value_a) > 0:
print("Value_a is:",value_a)
if len(value_b) > 0:
print("Value_b is:",value_b)
if len(value_c) > 0:
print("Value_c is:",value_c)
[root@test1 dataC]# python3 test.py 

-h --help

[root@test1 dataC]# python3 test.py -h

-a value of a

-b value of b

-c value of c

[root@test1 dataC]# python3 test.py --help

-a value of a

-b value of b

-c value of c

[root@test1 dataC]# python3 test.py -a a1
Value_a is: a1
[root@test1 dataC]# python3 test.py -a b1
Value_a is: b1
[root@test1 dataC]# python3 test.py -c c1
[root@test1 dataC]# python3 test.py -x

-a value of a

-b value of b

-c value of c
[root@test1 dataC]# python3 test.py -a 1 -b 2 -c 3
Value_a is: 1
Value_b is: 2

Tips:
参数c后面没有冒号,因此 -c 后参数没有被传递。


标签:test1,help,Python,py,value,参数传递,test,笔记,print
From: https://blog.51cto.com/dbadadong/5908461

相关文章

  • Python笔记-Python2和Python3兼容
    Python2与Python3在很数据类型、语法上面都有很大区别。为保证编写的脚本在Python2和Python3下兼容,需要在代码中做版本判断。示例代码如下:importsyspversion=int(s......
  • Python笔记-从配置读取参数
    实用的脚步通常需要一些动态参数,如果参数太多,从命令行传递就太麻烦了。从配置文件读取,是比较实用的方法。以下示例为从test.cfg中读取参数,配置文件为json格式。配置文件......
  • Python 让图像变卡通图
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • python解析yaml文件
    1、初始化yaml文件的目录def__init__(self):self.yaml_root_path='D:\\Code\\PythonProject\\UIAutoProject\\config\\yaml\\'2、读取yaml文件的方法defread_......
  • 【学习笔记】计算几何(总)
    计算几何入门1计算几何入门2......
  • Python遍历某个文件夹下的所有文件夹,每个文件夹只保留最新7个文件
    importosroot=r"D:\_back"fordirpath,dirnames,filenamesinos.walk(root):fordirnameindirnames:_dir=os.path.join(dirpath,dirname)......
  • Python实验报告——第13章 Pygame游戏编程
    实验报告实例01:制作一个跳跃的小球游戏代码如下:importsysimportpygamepygame.init()size=width,height=640,480screem=pygame.display.set_mode(size)c......
  • python 高阶函数
    高阶函数(High-orderFunction)​ 数学概念y=f(g(x))​ 在数学和计算机科学中,高阶函数应当是至少满足下面一个条件的函数​ 接受一个或多个函数作为参数​ 输......
  • python 装饰器
    defadd(x,y):returnx+ydeflogger(fn):defwrapper(*args,**kwargs):print('调用前增强')ret=fn(*args,**kwargs)#参数解构......
  • python 函数与生成器
    函数Python函数​ 由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元​ 完成一定的功能函数的作用​ 结构化编程对代码的最基本的封装,一般按......