2

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

1 回答 1

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

使用的工具参考:

于 2012-04-14T22:09:02.053 回答