我想用文本文件中的编码指令替换字符。
我的文本文件包含以下行:
This is a message
我想替换a -> e
,e -> a
,s -> 3
所以这行写着:
Thi3 i3 e massega
我尝试了下面的代码,但它一次只更改行中的一个字符。
import sys
import codecs
def encode():
path = "C:\Users\user\Desktop"
basename = "assgn2part1.txt"
filename = path + "\\" + basename
#file = open(filename, "rt")
f = codecs.open(filename,encoding='utf-8')
contents = f.read()
print contents ,"\n"
newcontents = contents.replace('a','e')
newcontents = contents.replace('s', '3')
print newcontents
f.close()
替换为:
有了这个:
或者更好:
您的代码似乎只试图将“a”替换为“e”,而不是将“e”替换为“a”。为此,您需要:
或者按照罗伯特的建议,使用字典
或:
在这里工作很好。
注意:如果希望第二个替换生效,则应在newcontents上执行:
相关问题 更多 >
编程相关推荐