2016-12-04 14 views
0

現在、リスト['/etc/hostname', '/opt/sme/sme.conf']をpythonスクリプトで使用しています。oldhostnamenewhostnameと置き換えてください。Python3スクリプトはタプルを使用して複数のファイルの文字列を検索して置き換えます

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() 

ここでファイル内の環境値を置き換える必要があります。上記のコードを2回繰り返して、ファイル内の環境値を置き換えます。誰かが入力としてタプルを使用して上記のコードを書く方法を提案してもらえますか? [('newhostname',oldhostname,'/etc/hostname'),('newhostname',oldhostname,'/opt/sme/sme.conf'),('appenv',newappEnv,'/opt/sme/sme.conf')]

答えて

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() 
関連する問題