Python - 替换多个文件中的数字

时间:2012-04-14 22:05:53

标签: python file replace numbers

我想在多个.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()

1 个答案:

答案 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。为防止这种情况,请使用正则表达式。

对所用工具的引用: