我想在多个.inp文件中用3.363替换某个数字说3.54并保存到位。
这是我到目前为止所写的内容,但我不知道问题出在哪里! 如果有人能看一下,我会很感激。
for i in range(1, 126):
file = 'C:/inp/' + str(i) +'.inp'
o2 = open(name=file, readOnly=False)
for line in ("file"):
file.write(line.replace('3.54', '3.363'))
file.close()
答案 0 :(得分:3)
for循环:
for line in ("file"):
使line
等于'f'
,然后'i'
,然后'l'
,然后'e'
。
尝试
import fileinput
import sys
import re
filenames = ['C:/inp/%d.inp'%i for i in range(1, 126)]
for line in fileinput.input(filenames, inplace = True,
backup = '.bak'):
sys.stdout.write(re.sub(r'\b3.54\b', '3.363', line))
请注意,line.replace('3.54', '3.363')
有点危险。例如,它会将13.54
更改为13.363
。为防止这种情况,请使用正则表达式。
对所用工具的引用:
filenames
)