原文支持python2,略作修改,支持python3

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:

  1. 使用sys.argv[]的一简单实例:
    以下是sample1.py文件:
import sys,os 
print sys.argv
os.system(sys.argv[1])

这个例子os.system接收命令行参数,运行参数指令,cmd命令行带参数运行python ​​sample1.py​​ notepad,将打开记事本程序。

  1. 这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了。
    以下是sample.py文件:
#!/usr/bin/env python  
#_*_ coding:utf-8 _*_
import sys
import os
def readfile(filename): #定义readfile函数,从文件中读出文件内容
'''''''Print a file to the standard output.'''
f = open(filename)
while True:
line = f.readline()
if len(line) == 0:
break
print(line,) # notice comma 分别输出每行内容
f.close()
# Script starts from here
print(sys.argv)
if len(sys.argv) < 2:
print('No action specified.')
sys.exit()
if sys.argv[1].startswith('--'):
option = sys.argv[1][2:]
# fetch sys.argv[1] but without the first two characters
if option == 'version': #当命令行参数为-- version,显示版本号
print( 'Version 1.2' )
elif option == 'help': #当命令行参数为--help时,显示相关帮助内容
print( '''
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--version : Prints the version number
--help : Display this help''')
else:
print('Unknown option.')
sys.exit()
else:
for filename in sys.argv[1:]: #当参数为文件名时,传入readfile,读出其内容
readfile(filename)

在与sample.py同一目录下,新建三个记事本文件test1.txt,test2.txt,test3.txt,随便添加内容。命令行下运行示例:

python sample.py
python sample.py --help
python sample.py --version
python sample.py test1.txt
python sample.py test1.txt test2.txt test3.txt