你能告诉我为什么换行符 \n 不起作用吗?
itemsToWriteToFile = "Number 1:", 12, "\nNumber 2: ", 13, "\nNumber 3: ", 13, "\nNumber 4: ", 14
itemsToWriteToFile = str(itemsToWriteToFile)
itemsToWriteToFile = itemsToWriteToFile.replace('(', "")
itemsToWriteToFile = itemsToWriteToFile.replace(')', "")
itemsToWriteToFile = itemsToWriteToFile.replace('"', "")
itemsToWriteToFile = itemsToWriteToFile.replace(',', "")
itemsToWriteToFile = itemsToWriteToFile.replace('\n', "")
print(itemsToWriteToFile)
The str()
转换是将“\n”转换为“\\n”。
>>> str('\n')
'\n'
>>> str(['\n'])
"['\\n']"
那里发生了什么事?你打电话时str()
在列表上(与元组相同),这将调用__str__()
列表的方法,依次调用__repr__()
在它的每个元素上。让我们检查一下它的行为是什么:
>>> "\n".__str__()
'\n'
>>> "\n".__repr__()
"'\\n'"
所以这就是原因。
至于如何修复它,就像 Blender 提出的那样,最好的选择是不使用str()
在名单上:
''.join(str(x) for x in itemsToWriteToFile)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)