我想用Python在文本文件的每一行中用一个路径替换文本,但是我在输出文件的路径中得到了奇怪的字符(正方形).
当前代码:
#!/usr/bin/env python
f1 = open('input.txt', 'r')
f2 = open('output.txt', 'w')
for line in f1:
    f2.write(line.replace('test/software', 'C:\Software\api\render\3bit\sim>'))
f1.close()
f2.close()
在输出文本中,路径中的以下内容将替换为正方形(奇怪的字符):
我的代码是否有问题,或者上面的字母是否为系统保留?
Python字符串支持转义码; 带有某些字符的反斜杠被它们代表的代码替换.\r被解释为ASCII换行符,例如,\a是ASCII BELL,并被\3解释为ascii代码点3(在八进制编号中).请参阅Python 字符串文字文档.
要禁用正在解释的转义码,请使用原始python字符串,方法是在字符串定义前加上r:
r'C:\Software\api\render\3bit\sim>'
所以你的行写道:
f2.write(line.replace('test/software', r'C:\Software\api\render\3bit\sim>'))
或者,将反斜杠加倍,将它们解释为文字反斜杠:
'C:\\Software\\api\\render\\3bit\\sim>'