Sap*_*ire 36 python string input eof
我当前的代码读取用户输入直到换行.但我试图将其更改为一种格式,用户可以写入输入,直到strg + d结束输入.
我目前这样做:
input = raw_input ("Input: ")
Run Code Online (Sandbox Code Playgroud)
但是如何将其更改为EOF-Ready版本?
fal*_*tru 39
用途file.read
:
input_str = sys.stdin.read()
Run Code Online (Sandbox Code Playgroud)
根据文件:
file.read([size])
从文件中读取最多大小字节(如果读取在获取大小字节之前达到EOF,则更少).如果size参数为负数或省略,则读取所有数据,直到达到EOF.
>>> import sys
>>> isinstance(sys.stdin, file)
True
Run Code Online (Sandbox Code Playgroud)
顺便说一句,不要input
用作变量名.它影响内置功能input
.
are*_*lek 32
这在Python 3中对我有用:
from sys import stdin
for line in stdin:
print(line)
Run Code Online (Sandbox Code Playgroud)
Joe*_*ett 23
您还可以执行以下操作:
acc = []
out = ''
while True:
try:
acc.append(raw_input('> ')) # Or whatever prompt you prefer to use.
except EOFError:
out = '\n'.join(acc)
break
Run Code Online (Sandbox Code Playgroud)
小智 7
有了sys.stdin.readline()
你可以这样写:
import sys
while True:
input_ = sys.stdin.readline()
if input_ == '':
break
print type(input_)
sys.stdout.write(input_)
Run Code Online (Sandbox Code Playgroud)
请记住,无论您的输入是什么,它都是一个字符串。
对于raw_input
或input
版本,这样写:
while True:
try:
input_ = input("Enter:\t")
#or
_input = raw_input("Enter:\t")
except EOFError:
break
print type(input_)
print type(_input)
print input_
print _input
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
61605 次 |
最近记录: |