を使用して、ファイル内の一部のコンテンツを現在の作業ディレクトリに置き換えようとしていますpython 3.3
。私は持っています:
def ReplaceInFile(filename, replaceRegEx, replaceWithRegEx):
''' Open a file and use a re.sub to replace content within it in place '''
with fileinput.input(filename, inplace=True) as f:
for line in f:
line = re.sub(replaceRegEx, replaceWithRegEx, line)
#sys.stdout.write (line)
print(line, end='')
そして私はそれを次のように使用しています:
ReplaceInFile(r'Path\To\File.iss', r'(#define RootDir\s+)(.+)', r'\g<1>' + os.getcwd())
残念ながら、私のパスはC:\ Tkbt \ Launchなので、取得する置換は次のとおりです。
#define RootDir C: kbt\Launch
つまり、タブとして解釈\t
されます。
したがって、Pythonにすべてをダブルエスケープするように指示する必要があるように見えますos.getcwd()
。多分答えかもしれないと思い.decode('unicode_escape')
ましたが、そうではありません。誰かが私を助けることができますか?
'\'
「それぞれを見つける」ではない解決策があることを願っています'\\'
。