Python用 sys.argv[] 实现从程序外部传参
sys.argv 返回的是一个元组,元组的首个元素是程序本身,第二个元素之后依次是我们通过输入来指定的各个参数。即是元组,就说明这些参数是有序且不可变的,当然可以用下标来引用这个元组的每个元素,也就是你输入的各个参数,来实现参数的传递。“外部”的含义,其实就是这些参数不是你在程序中定义的,而是在程序之外传递进来的。
举个栗子:
‘‘‘ 写一个修改文件的程序,要求传入一个文件名,再传入一个被修改的字符串,再传入一个要修改成什么的字符串‘‘‘ import sysimport osprint("这是个修改文件的程序".center(50,‘*‘))a = sys.argv# print(a[1:])with open(a[1],‘a+‘) as f1,open(‘uuu.txt‘,‘a+‘) as f2: for line in f1: if line.strip()==a[2]: f2.write(a[3]+‘\n‘) print("已经用%s替换了%s" % (a[3], a[2])) else: f2.write(line)os.remove(‘uu.txt‘)os.rename(‘uuu.txt‘,‘uu.txt‘)
注意:这段代码要用命令行来执行,如果是PyCharm调试的话用Terminal来运行程序。
如果还是不清楚的话可以参考这篇博客: http://www.cnblogs.com/aland-1415/p/6613449.html
时间: 2024-11-05 10:26:25