我是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