在多行上输入python

时间:2015-01-12 08:10:22

标签: python file python-3.x input user-input

这是我的代码

fw = open('input.txt', 'w')
fw.write(input())
fw.close()
fr = open('input.txt', 'r')
for y in fr:
    print(y)
fr.close()

当用户写入文件时。他怎么能去下一行?

每当我点击输入时,它只接受一行而不会进入下一行。

例如: 当我运行此代码时,我输入

1 2 3 4

输出与输入相同。 但是我想把它写成

1
2
3
4
输入.txt文件中的

我尝试了以下操作但没有用。

  1. fw.write(input() + "\n")
  2. fw.write(input("\n")

3 个答案:

答案 0 :(得分:2)

你需要一个循环。试试这个:

fw = open('input.txt', 'w')
while 1:
    info = input('enter stop to stop:')
    if info == 'stop':
        break
    fw.write(info)

fw.close()
fr = open('input.txt', 'r')

for y in fr:
    print(y, end='')
fr.close()

答案 1 :(得分:1)

  

每当我点击输入时,它只接受一行而不会进入下一行。

是的,input只需输入一行作为输入。

您可以使用loop直到给出某个响应,或者使用split拆分您的输入,然后在新行上写下列表中的每个项目:

fw.write('\n'.join(input().split(' ')))

userInput = input()
for line in userInput.split(' '):
    fw.write(line)

答案 2 :(得分:1)

在输入字符串中打印每个以空格分隔的项目:

print(*input().split(), sep='\n', file=fw)