2016-04-23 70 views
1

所以,我看着计算器对于这一点,唯一一个我得还挺工作是,Python的读取线,以及如何输出新线

buffer = '' 
while True: 
    line = raw_input() 
    if not line: break 

    buffer += line 
print(buffer) 

但是,它并没有打印就像我粘贴它的方式(用线条代替),它是在一行中完成的。

任何想法如何做到这一点?谢谢!

+1

用'buffer + ='\ n'+ line'替换'buffer + = line'。 – EbraHim

+0

作为答复,它的工作表示感谢! – Nevermind123

+2

看看下面的[Python raw_input忽略换行](https://stackoverflow.com/questions/9047349/python-raw-input-ignore-newline)和[如何在python raw_input()函数中包含换行符?] (https://stackoverflow.com/questions/10238085/how-to-include-a-newline-in-the-python-raw-input-function)。你可以利用'sys.stdin.readlines'来达到这个目的。 – direprobs

回答

3

这是你想要的吗?

buffer = '' 
while True: 
    line = raw_input() 
    if not line: break 

    buffer += '\n' + line 
print(buffer) 

在于按如下工作:

>>> ================================ RESTART ================================ 
>>> 
Salam 
Hi 
Salut 


Salam 
Hi 
Salut 
>>> 

正如你看到的上面,我在buffer += '\n' + line线放在\n。此字符被命名为新行转义字符。口译员用一条新的线代替它。

另一种方法是如以下使用list

mylist = list() 

while True: 
    line = raw_input() 
    if not line: break 
    mylist.append(line) 

for line in mylist: 
    print(line) 

使用上述方法,我存储每行的mylist一个构件并在结束我印刷的那些成员一个接一个。

+0

感谢您的帮助! – Nevermind123

1
buffer = '' 

while True: 
    line = raw_input() 
    if not line: break 

    buffer += line+ "\n" 

print(buffer) 

你去那里,它的原油,但它工作得很好......