Python 3.6新行与用户输入

时间:2018-04-22 21:17:08

标签: python

制作一个程序,允许用户输入一些文本,并在其中创建包含该文本的文本文件。但是,当用户放置\ n时,它不会启动新行。发现使用我的程序创建文本文件非常困难,因为它将所有文本写在一行上lol

由于

编辑 - 抱歉。这是我的代码(只是我们关注的部分)。

SyntaxNode

3 个答案:

答案 0 :(得分:1)

正如您所发现的,特殊的转义字符不会在从输入读取的字符串中进行插值,因为通常我们希望保留字符,而不是赋予它们特殊的含义。

您需要在输入后进行一些调整,例如:

>>> s=input()
hello\nworld
>>> s
'hello\\nworld'
>>> s = s.replace('\\n', '\n')
>>> s
'hello\nworld'
>>> print(s)
hello
world

答案 1 :(得分:0)

您只需将输入添加到变量即可。你没有提供任何代码,所以我只需要即兴发挥:

data = open('output.txt', 'w')
a = input('>>')
data.write(a + '\n')
data.close()

但是,与我下面提到的评论一样,更好的解决方案是使用sys.stdin.readline()

import sys
data.write(sys.stdin.readline())

答案 2 :(得分:0)

恕我直言,最简单(最脏?)的方法是先打印消息,然后在没有提示的情况下(或消息的最后部分)使用input()

print("Are we REALLY sure?\n")
answer = input("[Y/n]")