python中sys.argv参数用法实例分析
本文实例讲述了python中sys.argv参数用法。分享给大家供大家参考。具体分析如下:
在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉。
今天又好好学习了一把,总算是大彻大悟了。
Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:
1、使用sys.argv[]的一简单实例
importsys,os os.system(sys.argv[1])
这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数运行sample1.pynotepad,将打开记事本程序。
2、这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了。
importsys defreadfile(filename):#从文件中读出文件内容 '''Printafiletothestandardoutput.''' f=file(filename) whileTrue: line=f.readline() iflen(line)==0: break printline,#noticecomma分别输出每行内容 f.close() #Scriptstartsfromhere iflen(sys.argv)<2: print'Noactionspecified.' sys.exit() ifsys.argv[1].startswith('--'): option=sys.argv[1][2:] #fetchsys.argv[1]butwithoutthefirsttwocharacters ifoption=='version':#当命令行参数为--version,显示版本号 print'Version1.2' elifoption=='help':#当命令行参数为--help时,显示相关帮助内容 print'''" Thisprogramprintsfilestothestandardoutput. Anynumberoffilescanbespecified. Optionsinclude: --version:Printstheversionnumber --help:Displaythishelp''' else: print'Unknownoption.' sys.exit() else: forfilenameinsys.argv[1:]:#当参数为文件名时,传入readfile,读出其内容 readfile(filename)
保存程序为sample.py.我们验证一下:
命令行带参数运行:sample.py–version输出结果为:version1.2
命令行带参数运行:sample.py–help输出结果为:Thisprogramprintsfiles……
在与sample.py同一目录下,新建a.txt的记事本文件,内容为:testargv;命令行带参数运行:sample.pya.txt,输出结果为a.txt文件内容:testargv,这里也可多带几个参数,程序会先后输出参数文件内容。
希望本文所述对大家的Python程序设计有所帮助。