我当时正在一个简单的项目中,我可以在不使用alt代码的情况下编写特殊字符,并且遇到了一个很酷的bug,我的代码无需打印语句即可打印。
n = 1
while n < 6:
backup = open(n, 'r+')
active = open('German' + str(n) + '.txt', 'r')
backup.truncate(0)
backup.seek(0)
backup.write(textconvert(active.read()))
backup.close()
active.close()
n += 1
我的程序没有按我预期的那样工作,因为备份(1.txt,2.txt ... 5.txt)是我离开的(空),但打印出前两个备份的内容,我发现罪魁祸首:
backup = open(n, 'r+')
我的问题是,为什么这会导致在崇高文字3上打印出某些内容? 我计算出仅打印出前两个文件,其中n = 1,2。
backup = open(str(n) + '.txt', 'r+')
此代码有效,因此必须是导致这些问题的原因。
def textconvert(text):
text = text.replace('//a', 'Ä')
text = text.replace('//o', 'Ö')
text = text.replace('//u', 'Ü')
text = text.replace('/a', 'ä')
text = text.replace('/o', 'ö')
text = text.replace('/u', 'ü')
text = text.replace('/s', 'ß')
return text.strip()
如果它有任何改变,那就是定义。