私は、ファイルLinuxの特定の行を置き換えるpythonでスクリプトを書いています。 、iがしかしPython re特定の構文
hi 90
:
#! /usr/bin/env python
import re
fp = open("/home/hi","w")
re.sub(r"hi+", "hi 90", fp)
私の望ましい結果は次のとおりです。ここで
hi 873840
は私のスクリプトです:私が含まれている/ homeディレクトリのHIと呼ばれるファイルを持っていると言いますそれを実行すると、このエラーが発生し、hiファイルはbalnkになります。
Traceback (most recent call last):
File "./script.py", line 6, in <module>
re.sub(r"hi+", "hi 90", fp)
File "/usr/lib/python2.7/re.py", line 155, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
私の構文に何か問題がありますか? ありがとう
're.sub(パターン、REPL、文字列、= 0をカウントし、フラグ= 0)'であると仮定しますなぜあなたがエラーを取得しているかを示すファイルポインタ。 – chakri
[正規表現を使用してファイル内の文字列を置換する]の可能な複製(https://stackoverflow.com/questions/35688126/replace-string-in-file-with-using-regular-expressions) –