参数2: sys.argv[2]
test.py
1import sys
2print "脚本名:", sys.argv[0]
3for i in range(1, len(sys.argv)):
4print "参数", i, sys.argv[i]
>>>python test.py hello world
脚本名:test.py
参数 1 hello
参数 2 world
python中使用命令行选项:
例如我们需要一个convert.py脚本。它的作用是处理一个文件,并将处理后的结果输出到另一个文件中。
要求该脚本满足以下条件:
1.通过-i -o选项来区别参数是输入文件还是输出文件.
>>>python convert.py -i inputfile -o outputfile
2.当不知道convert.py需要哪些参数时,用-h打印出帮助信息
>>>python convert.py -h
getopt函数原形:
getopt.getopt(args, options[, long_options])
import sysdef spfile(infile,linesize=1000):
sp_file = open(infile,'r')
flag = True
i = 1
c = 0
while flag:
if i <= linesize:
line = sp_file.readline()
out_file='outfile_' + str(c) + '.txt'
open(out_file,'a').write(line)
i+=1
elif len(line)==0:
flag=False
else:
i=1
c+=1
continue
if __name__ == '__main__':
spfile(sys.argv[0], int(sys.argv[1]))
类实例化时,会调用类的__init__(self)方法,__init__方法定义了几个参数,就传几个,没有定义__init__方法就调用默认的(根类object的)
比如:
class A:pass #实例化时调用默认__init__class B:
def __init__(self,a,b="b"):
self.a=a
self.b=b
a = A()
b1 = B("a")
b2 = B("a","c")