在多行输入 python

Input in python on more than one line

这是我的代码

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

在 input.txt 文件中。

我尝试了以下方法,但没有用。

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

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

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()

Whenever i hit enter it accepts only one line and does not go to the next line.

是的,input仅输入 1 行。

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

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

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

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

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