我是Python的新用戶。我需要學習一種在單個文件中改變參數值的方法。該腳本:如何使用python更改多個文件中參數的值
#####test.py##########
from sys import argv
script,filename,sigma = argv
file_data = open(filename,'r')
txt = file_data.read()
txt=txt.replace('3.7',sigma)
file_data = open(filename,'w')
file_data.write(txt)
file_data.close()
它在命令行中運行帶有的test.txt作爲
test.py test.txt 2.
3.7由2 test.txt的替代,作爲一個結果。
現在,如果我想要對目錄中的所有.txt文件執行相同操作,例如
test.py *.txt 2
有什麼建議的修改?
您的建議非常感謝。
Hafiz。
您的意思是'差=的argv [2]'?要列出所有文本文件,您可以使用glob模塊。 '從glob導入glob'然後'在glob中輸入文件名('path/to/directory/*。txt'):'。 – tdelaney
是的,sigma = argv [2]。實際上,當我運行它時,我想將參數傳遞給腳本。我試圖整合你的建議。它出來是:來自sys導入的 argv 腳本,文件名,sigma = argv from glob import glob for glob('C:\ PROJ \ BNS \ python-files \ *。txt'): file_data =開放(文件名, 'R') TXT = file_data.read() TXT = txt.replace( '3.7',SIGMA) file_data =開放(文件名, 'W') file_data.write(TXT) file_data .close()但是當我運行這個像test.py * .txt 2時,它顯示語法錯誤。請建議。 – Hafiz
好吧,它的工作。我可以弄明白。日Thnx – Hafiz