我目前在python脚本中使用列表['/etc/hostname', '/opt/sme/sme.conf']
,并在列表中的这些文件中查找并替换oldhostname
newhostname
,这非常有用。
filelist = ['/etc/hostname', '/opt/sme/sme.conf']
for filename in filelist :
f = open(filename,'r')
filedata = f.read()
f.close()
newdata = filedata.replace('oldhostname',newhostname)
f = open(filename,'w')
f.write(newdata)
f.close()
现在我必须替换文件中的环境值。而不是重复上面的代码两次来替换文件中的环境值。有人可以建议如何使用元组作为输入来编写上面的代码。
[('newhostname',oldhostname,'/etc/hostname'),('newhostname',oldhostname,'/opt/sme/sme.conf'),('appenv',newappEnv,'/opt/sme/sme.conf')]
答案 0 :(得分:1)
您要找的是元组拆包
new_configurations = [('newhostname',oldhostname,'/etc/hostname'),('newhostname',oldhostname,'/opt/sme/sme.conf'),('appenv',newappEnv,'/opt/sme/sme.conf')]
for newhostname, oldhostname, filename in new_configurations :
f = open(filename,'r')
filedata = f.read()
f.close()
newdata = filedata.replace(oldhostname,newhostname)
f = open(filename,'w')
f.write(newdata)
f.close()