2

複数の.inpファイルで3.54などの特定の番号を3.363に置き換えて、その場で保存したいと思います。

これは私がこれまでに書いたものですが、問題がどこにあるのかわかりません!ですので、誰かがこれを見ていただければ幸いです。

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.54されます。13.363これを防ぐには、正規表現を使用します。

使用したツールへの参照:

于 2012-04-14T22:09:02.053 に答える