Hướng dẫn python read stdin until eof - python đọc stdin cho đến khi eof

Mã hiện tại của tôi đọc đầu vào người dùng cho đến khi dòng phá vỡ. Nhưng tôi đang cố gắng thay đổi nó thành một định dạng, trong đó người dùng có thể viết đầu vào cho đến khi strg+d để kết thúc đầu vào của mình.

Tôi hiện đang làm như thế này:

input = raw_input ("Input: ")

Nhưng làm thế nào tôi có thể thay đổi nó thành một phiên bản sẵn sàng EOF?

Hỏi ngày 20 tháng 1 năm 2014 lúc 13:53Jan 20, 2014 at 13:53

Hướng dẫn python read stdin until eof - python đọc stdin cho đến khi eof

Trong Python 3 bạn có thể lặp lại các dòng đầu vào tiêu chuẩn, vòng lặp sẽ dừng khi đạt được EOF:

from sys import stdin

for line in stdin:
  print(line, end='')

from sys import stdin

for line in stdin:
  print(line, end='')
1 bao gồm nhân vật
from sys import stdin

for line in stdin:
  print(line, end='')
2 theo dõi

Chạy ví dụ này trực tuyến: https://ideone.com/ruxcie


Đây có thể là điều mà hầu hết mọi người đang tìm kiếm, tuy nhiên nếu bạn muốn đọc toàn bộ đầu vào cho đến khi EOF thành một biến duy nhất (như OP), thì bạn có thể muốn xem câu trả lời khác này.

Đã trả lời ngày 26 tháng 3 năm 2016 lúc 15:33Mar 26, 2016 at 15:33

Arekolekarekolekarekolek

8,5443 huy hiệu vàng57 Huy hiệu bạc76 Huy hiệu đồng3 gold badges57 silver badges76 bronze badges

0

Sử dụng

from sys import stdin

for line in stdin:
  print(line, end='')
3:

input_str = sys.stdin.read()

Theo tài liệu:

from sys import stdin

for line in stdin:
  print(line, end='')
4

Đọc ở hầu hết các byte có kích thước từ tệp (ít hơn nếu đọc truy cập EOF trước khi có được kích thước byte). Nếu đối số kích thước là âm hoặc bị bỏ qua, hãy đọc tất cả dữ liệu cho đến khi đạt được EOF.

>>> import sys
>>> isinstance(sys.stdin, file)
True

Btw, không sử dụng

from sys import stdin

for line in stdin:
  print(line, end='')
5 như một tên biến. Nó Shadows Chức năng tích hợp
from sys import stdin

for line in stdin:
  print(line, end='')
5.

Đã trả lời ngày 20 tháng 1 năm 2014 lúc 13:56Jan 20, 2014 at 13:56

Falsetrufalsetrufalsetru

345K59 Huy hiệu vàng690 Huy hiệu bạc613 Huy hiệu Đồng59 gold badges690 silver badges613 bronze badges

Bạn cũng có thể làm như sau:

acc = []
out = ''
while True:
    try:
        acc.append(raw_input('> ')) # Or whatever prompt you prefer to use.
    except EOFError:
        out = '\n'.join(acc)
        break

Đã trả lời ngày 20 tháng 1 năm 2014 lúc 14:02Jan 20, 2014 at 14:02

Hướng dẫn python read stdin until eof - python đọc stdin cho đến khi eof

Joel Cornettjoel CornettJoel Cornett

23,5K9 Huy hiệu vàng61 Huy hiệu bạc85 Huy hiệu Đồng9 gold badges61 silver badges85 bronze badges

1

Với

from sys import stdin

for line in stdin:
  print(line, end='')
7 bạn có thể viết như thế này:

import sys

while True:
    input_ = sys.stdin.readline()
    if input_ == '':
        break
    print type(input_)
    sys.stdout.write(input_)

Hãy nhớ rằng, bất kể đầu vào của bạn là gì, nó là một chuỗi.

Đối với phiên bản

from sys import stdin

for line in stdin:
  print(line, end='')
8 hoặc
from sys import stdin

for line in stdin:
  print(line, end='')
5, hãy viết như thế này:

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

Đã trả lời ngày 7 tháng 11 năm 2015 lúc 9:49Nov 7, 2015 at 9:49

Pet bpet ​​bPet B

Huy hiệu Bạc 9911 silver badge1 bronze badge

Đọc đầu vào của người dùng cho đến khi EOF trong Python #

Sử dụng phương thức

input_str = sys.stdin.read()
0 để đọc đầu vào của người dùng cho đến khi EOF. Phương thức
input_str = sys.stdin.read()
1 sẽ trả về một danh sách chứa các dòng. Người dùng có thể nhấn
input_str = sys.stdin.read()
2 (UNIX) hoặc
input_str = sys.stdin.read()
3 (Windows) để thoát.

Copied!

import sys # 👇️ User must press Ctrl + D (Unix) or Ctrl + Z (Windows) to exit print('Press CTRL + D (Unix) or CTRL + Z (Windows) to exit') user_input = sys.stdin.readlines() # 👇️ get list of lines print(user_input) # 👇️ join the list items into a string print(''.join(user_input))

Hướng dẫn python read stdin until eof - python đọc stdin cho đến khi eof

input_str = sys.stdin.read()
4 được sử dụng cho đầu vào người dùng tương tác.

Người dùng phải nhấn

input_str = sys.stdin.read()
2 (trên UNIX) hoặc
input_str = sys.stdin.read()
3 trên Windows để thoát.

Phương thức

input_str = sys.stdin.read()
1 trả về một danh sách chứa danh sách người dùng đã nhập.

Bạn có thể sử dụng phương thức

input_str = sys.stdin.read()
8 nếu bạn cần tham gia danh sách các chuỗi vào một chuỗi.

Copied!

# a # b # c print(''.join(['a\n', 'b\n', 'c\n']))

Nếu bạn chỉ cần một chuỗi chứa các dòng, hãy sử dụng phương thức

input_str = sys.stdin.read()
9 thay thế.

Copied!

import sys user_input = sys.stdin.read() print(user_input)

Hướng dẫn python read stdin until eof - python đọc stdin cho đến khi eof

Phương thức

input_str = sys.stdin.read()
9 trả về một chuỗi chứa các dòng người dùng đã nhập.

Ngoài ra, bạn có thể sử dụng câu lệnh

>>> import sys
>>> isinstance(sys.stdin, file)
True
1.

Để đọc đầu vào của người dùng cho đến khi EOF:

  1. Sử dụng vòng lặp
    >>> import sys
    >>> isinstance(sys.stdin, file)
    True
    
    2 để lặp lại cho đến khi EOF.
  2. Trên mỗi lần lặp, nối đầu vào người dùng vào danh sách.
  3. Bắt ngoại lệ
    >>> import sys
    >>> isinstance(sys.stdin, file)
    True
    
    3 trong khối
    >>> import sys
    >>> isinstance(sys.stdin, file)
    True
    
    4 và thoát ra khỏi vòng lặp.

from sys import stdin

for line in stdin:
  print(line, end='')
0

Hướng dẫn python read stdin until eof - python đọc stdin cho đến khi eof

Chúng tôi đã sử dụng một vòng

>>> import sys
>>> isinstance(sys.stdin, file)
True
2 để lặp lại cho đến khi EOF.

Nếu người dùng nhấn

input_str = sys.stdin.read()
2 (UNIX) hoặc
input_str = sys.stdin.read()
3 (Windows), ngoại lệ
>>> import sys
>>> isinstance(sys.stdin, file)
True
3 được nâng lên và được xử lý trong khối
>>> import sys
>>> isinstance(sys.stdin, file)
True
4.

Tuyên bố phá vỡ thoát ra khỏi vòng lặp

acc = []
out = ''
while True:
    try:
        acc.append(raw_input('> ')) # Or whatever prompt you prefer to use.
    except EOFError:
        out = '\n'.join(acc)
        break
0 hoặc
>>> import sys
>>> isinstance(sys.stdin, file)
True
2.

Làm thế nào để bạn đọc stdin cho đến khi EOF trong Python?

Sử dụng phương thức sys.stdin.ReadLines () để đọc đầu vào của người dùng cho đến khi EOF.Phương thức Readlines () sẽ trả về một danh sách chứa các dòng. stdin. readlines() method to read user input until EOF. The readlines() method will return a list containing the lines.

Làm thế nào để bạn tiếp tục đọc các dòng cho đến khi không còn đầu vào trong Python?

Làm thế nào để bạn tiếp tục đọc các dòng cho đến khi không còn đầu vào trong Python ?..
// cho nền tảng HackerRank và Hackerearth bên dưới triển khai được ưu tiên:.
Trong khi đúng:.
dòng = input ().
Ngoại trừ Eoferror:.
break;.

Làm thế nào để bạn chỉ định EOF trong Python?

BaseeXception -> Ngoại lệ -> EofError Thực tiễn tốt nhất để tránh EOF trong Python trong khi mã hóa trên bất kỳ nền tảng nào là nắm bắt ngoại lệ và chúng tôi không cần thực hiện bất kỳ hành động nào vì vậy, chúng tôi chỉ cần vượt qua ngoại lệ bằng cách sử dụng từ khóa.Các khối ngoại trừ khối. The best practice to avoid EOF in python while coding on any platform is to catch the exception, and we don't need to perform any action so, we just pass the exception using the keyword “pass” in the “except” block.

Làm thế nào để bạn đọc một dòng Stdin trong Python?

Có ba cách để đọc dữ liệu từ Stdin trong Python ...
sys.stdin..
đầu vào () chức năng tích hợp ..
fileInput.Input () hàm ..