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程序设计有所帮助。