如何在 Python 中使用 x.write(input()) 添加新行


with open('practice.txt','w') as x:
text = input('enter text')
x.write(text)

输入文本 .. 你好 世界

输出 .. 你好 世界

它将其视为字符串而不是换行符 为什么我的输入字符串在传递给 write(( 时没有验证我的'' 字符

它是否与我将输入((传递给write((有关

input()返回一个原始字符串,因此所有换行符都会自动转义。您可以使用ast中的literal_eval()将其转换回文本字符串。

from ast import literal_eval
with open('practice.txt','w') as x:
text = input('enter text')
x.write(literal_eval("'" + text + "'"))

例如:

from ast import literal_eval
a = input()
>>>"tHello!"
print(a)
>>>tHello!
print(literal_eval("'" + a + "'"))
>>>    Hello!

另一种解决方案是使用来自用户的多行输入,这样就不需要键入控制字符。

请参阅此处:如何从用户获取多行输入

最新更新