首页 > 代码库 > Python学习杂记_8_从程序外部传参的办法sys.argv

Python学习杂记_8_从程序外部传参的办法sys.argv

Python用 sys.argv[] 实现从程序外部传参

sys.argv 返回的是一个元组,元组的首个元素是程序本身,第二个元素之后依次是我们通过输入来指定的各个参数。即是元组,就说明这些参数是有序且不可变的,当然可以用下标来引用这个元组的每个元素,也就是你输入的各个参数,来实现参数的传递。“外部”的含义,其实就是这些参数不是你在程序中定义的,而是在程序之外传递进来的。

 

举个栗子

‘‘‘ 写一个修改文件的程序,要求传入一个文件名,再传入一个被修改的字符串,再传入一个要修改成什么的字符串
‘‘‘

import sys
import os
print("这是个修改文件的程序".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

 

Python学习杂记_8_从程序外部传参的办法sys.argv