我正在尝试读取一个文件,然后将其写回同一个文件,每个字符之间有一个空格,一组大写,一组正常。
我可以正常写任何一组,但我不能正常写这两个。
这是我的代码
import string
f = open('text.txt', 'r+')
file = f.read()
file = file.translate(None, string.whitespace)
file = file.translate(None, string.punctuation)
file = ' '.join(file)
file2 = file.upper()
f.seek(0)
f.write(file)
f.flush()
f.write(file2)
f.close()
然而,遗憾的是这不起作用。在记事本中打开它时,它都是胡言乱语。在 python 中第二次读取它时,它完美地看到了两组字符串,然后乱码直到出现错误。例如:
Y A L E T T E R S A Y I N G ô C ƒ▬s ► É☺↨ ░☺≡≡≡ ≡≡≡
☺☺☺ Ç> ☺ ☺ ☺ ▼ ë☺ ☺
那么结局应该是“麻烦多于值得”
因此,在所有事情进行到一半时,都会胡言乱语,而不是像应有的那样写作。
即使我不写入文件也会发生这种情况。
print file returns perfect string
print file2 returns perfect string
temp = file + file2
print temp returns gibberish part of the way through
那么为什么它会返回乱码,我该怎么做才能解决这个问题?