from sys import argv
####设置参数名称
script_name,my_name,my_age,my_sex,my_love=argv
print("my name is %s." % my_name)
print("my age is %s." % my_age)
print("my sex is {}".format(my_sex))
print("my love is {}".format(my_love))
input("we have a little boy,his name")
print("my first variable is %r, it's filename" % argv[0])
执行结果:
E:\workspace\python-workspace\stpython>python ex13_1.py czz 32 female Tjy
my name is czz.
my age is 32.
my sex is female
my love is Tjy
we have a little boy,his name aa
my first variable is 'ex13_1.py', it's filename
说明:给每个输入的参数定义一个有意义的名字,第一个参数是文件的名称,第二个参数名对应的是输入的第一个参数,
输入参数的个数比参数的名称少一个,因为第一个是文件名,不能多不能少。
####不设置参数名称
print("my first variable is %r, it's filename" % argv[0])
print("my name is %s." % argv[1])
print("my age is %s." % argv[2])
print("my sex is {}".format(argv[3]))
print("my love is {}".format(argv[4]))
print(argv)
执行结果:
E:\workspace\python-workspace\stpython>python ex13_1.py czz 32 female Tjy czv xxx
my first variable is 'ex13_1.py', it's filename
my name is czz.
my age is 32.
my sex is female
my love is Tjy
['ex13_1.py', 'czz', '32', 'female', 'Tjy', 'czv', 'xxx']
说明:执行时可以输入很多个参数,参数值放在argv[]列表中,argv[0]对应文件名,argv[1]对应第一个输入参数
####通过input()或argv传入参数
from sys import argv ##引入argv模块组
script,filename = argv ##定义两个参数script对应脚本名称,filename对应传入的参数
txt = open(filename) ##打开文件filename
print("Here's your file %r:" % filename) ##输出打开的文件名
print(txt.read()) ##读取文件的内容
txt.close()
print("Type the filename again:") ##打印提示
file_again = input(">") ##输入待打开的文件名
txt_again = open(file_again) ##打开文件
print (txt_again.read()) ##终端输出文件内容
txt_again.close()
说明:sys.argv可传入多个参数,而input每次只能传入一个参数;sys.argv脚本的调用可写入另外一个脚本,如果传入参数有变动只要修改下该脚本即可,而input每次都要手动输入。