Hướng dẫn how do i use stdin stdout in python? - làm cách nào để sử dụng stdin stdout trong python?

Trước khi trải qua bài viết này, hãy để chúng tôi hiểu những điều khoản stdin, stdoutstderr là gì.

Show

Đầu vào tiêu chuẩn-Đây là xử lý tệp mà chương trình người dùng đọc để lấy thông tin từ người dùng. Chúng tôi cung cấp đầu vào cho đầu vào tiêu chuẩn (stdin). – This is the file-handle that a user program reads to get information from the user. We give input to the standard input (stdin).

Đầu ra tiêu chuẩn-Chương trình người dùng ghi thông tin bình thường vào xử lý tệp này. Đầu ra được trả về thông qua đầu ra tiêu chuẩn (stdout). – The user program writes normal information to this file-handle. The output is returned via the Standard output (stdout).

Lỗi tiêu chuẩn-Chương trình người dùng ghi thông tin lỗi cho xử lý tệp này. Lỗi được trả về thông qua lỗi tiêu chuẩn (STDERR). – The user program writes error information to this file-handle. Errors are returned via the Standard error (stderr).

Python cung cấp cho chúng tôi các đối tượng giống như tệp đại diện cho stdin, stdout và stderr. Chúng ta hãy xem xét cách chúng ta có thể làm việc với các đối tượng này để làm việc với đầu vào và đầu ra của chương trình.file-like objects that represent stdin, stdout, and stderr. Let us look at how we could work with these objects to work with the input and output of our program.


1. sys.stdin

Mô -đun Python sườn ____ ____10 cung cấp cho chúng tôi cả ba đối tượng tệp cho stdin, stdout và stderr. Đối với đối tượng tệp đầu vào, chúng tôi sử dụng

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
1. Điều này tương tự như một tệp, nơi bạn có thể mở và đóng nó, giống như bất kỳ tệp nào khác.

Hãy cho chúng tôi hiểu điều này thông qua một ví dụ cơ bản:

import sys

stdin_fileno = sys.stdin

# Keeps reading from stdin and quits only if the word 'exit' is there
# This loop, by default does not terminate, since stdin is open
for line in stdin_fileno:
    # Remove trailing newline characters using strip()
    if 'exit' == line.strip():
        print('Found exit. Terminating the program')
        exit(0)
    else:
        print('Message from sys.stdin: ---> {} <---'.format(line))

Đầu ra

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program

Đoạn trích trên tiếp tục đọc đầu vào từ stdin và in thông báo vào bảng điều khiển (stdout) cho đến khi gặp từ

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
4.

Lưu ý: Chúng tôi thường không đóng đối tượng tệp stdin mặc định, mặc dù nó được cho phép. Vì vậy,

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
6 là mã Python hợp lệ.: We do not normally close the default stdin file object, although it is allowed. So
Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
6 is valid Python code.

Bây giờ chúng ta đã biết một chút về stdin, chúng ta hãy chuyển sang stdout.


2. sys.stdout

Đối với đối tượng tệp đầu ra, chúng tôi sử dụng

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
9. Nó tương tự như
Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
1, nhưng nó hiển thị trực tiếp bất cứ thứ gì được ghi vào nó vào bảng điều khiển.

Đoạn trích dưới đây cho thấy chúng ta có đầu ra vào bảng điều khiển nếu chúng ta viết thư cho

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
9.

import sys

stdout_fileno = sys.stdout

sample_input = ['Hi', 'Hello from AskPython', 'exit']

for ip in sample_input:
    # Prints to stdout
    stdout_fileno.write(ip + '\n')

Đầu ra

Hi
Hello from AskPython
exit


Đoạn trích trên tiếp tục đọc đầu vào từ stdin và in thông báo vào bảng điều khiển (stdout) cho đến khi gặp từ Hi Message from sys.stdin: ---> Hi <--- Hello from AskPython Message from sys.stdin: ---> Hello from AskPython <--- exit Found exit. Terminating the program 4.

Lưu ý: Chúng tôi thường không đóng đối tượng tệp stdin mặc định, mặc dù nó được cho phép. Vì vậy,

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
6 là mã Python hợp lệ.Exceptions and Error messages. (Which is why it is called Standard Error).

Bây giờ chúng ta đã biết một chút về stdin, chúng ta hãy chuyển sang stdout.

import sys

stdout_fileno = sys.stdout
stderr_fileno = sys.stderr

sample_input = ['Hi', 'Hello from AskPython', 'exit']

for ip in sample_input:
    # Prints to stdout
    stdout_fileno.write(ip + '\n')
    # Tries to add an Integer with string. Raises an exception
    try:
        ip = ip + 100
    # Catch all exceptions
    except:
        stderr_fileno.write('Exception Occurred!\n')

Đầu ra

Hi
Exception Occurred!
Hello from AskPython
Exception Occurred!
exit
Exception Occurred!

Đoạn trích trên tiếp tục đọc đầu vào từ stdin và in thông báo vào bảng điều khiển (stdout) cho đến khi gặp từ

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
4.


Lưu ý: Chúng tôi thường không đóng đối tượng tệp stdin mặc định, mặc dù nó được cho phép. Vì vậy, Hi Message from sys.stdin: ---> Hi <--- Hello from AskPython Message from sys.stdin: ---> Hello from AskPython <--- exit Found exit. Terminating the program 6 là mã Python hợp lệ.

Bây giờ chúng ta đã biết một chút về stdin, chúng ta hãy chuyển sang stdout.

2. sys.stdout

Đối với đối tượng tệp đầu ra, chúng tôi sử dụng

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
9. Nó tương tự như
Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
1, nhưng nó hiển thị trực tiếp bất cứ thứ gì được ghi vào nó vào bảng điều khiển.

import sys

# Save the current stdout so that we can revert sys.stdou after we complete
# our redirection
stdout_fileno = sys.stdout

sample_input = ['Hi', 'Hello from AskPython', 'exit']

# Redirect sys.stdout to the file
sys.stdout = open('Output.txt', 'w')

for ip in sample_input:
    # Prints to the redirected stdout (Output.txt)
    sys.stdout.write(ip + '\n')
    # Prints to the actual saved stdout handler
    stdout_fileno.write(ip + '\n')

# Close the file
sys.stdout.close()
# Restore sys.stdout to our old saved file handler
sys.stdout = stdout_fileno

Đầu ra

Đoạn trích trên tiếp tục đọc đầu vào từ stdin và in thông báo vào bảng điều khiển (stdout) cho đến khi gặp từ

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
4.

Lưu ý: Chúng tôi thường không đóng đối tượng tệp stdin mặc định, mặc dù nó được cho phép. Vì vậy,

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
6 là mã Python hợp lệ.

Bây giờ chúng ta đã biết một chút về stdin, chúng ta hãy chuyển sang stdout.

2. sys.stdout

Đối với đối tượng tệp đầu ra, chúng tôi sử dụng

Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
9. Nó tương tự như
Hi
Message from sys.stdin: ---> Hi
 <---
Hello from AskPython
Message from sys.stdin: ---> Hello from AskPython
 <---
exit
Found exit. Terminating the program
1, nhưng nó hiển thị trực tiếp bất cứ thứ gì được ghi vào nó vào bảng điều khiển.


Đoạn trích dưới đây cho thấy chúng ta có đầu ra vào bảng điều khiển nếu chúng ta viết thư cho Hi Message from sys.stdin: ---> Hi <--- Hello from AskPython Message from sys.stdin: ---> Hello from AskPython <--- exit Found exit. Terminating the program 9.

3. sys.stderr

Điều này tương tự như Hi Message from sys.stdin: ---> Hi <--- Hello from AskPython Message from sys.stdin: ---> Hello from AskPython <--- exit Found exit. Terminating the program 9 vì nó cũng in trực tiếp vào bảng điều khiển. Nhưng sự khác biệt là nó chỉ in các ngoại lệ và thông báo lỗi. (Đó là lý do tại sao nó được gọi là lỗi tiêu chuẩn).

  • Hãy để chúng tôi minh họa điều này với một ví dụ.
  • Như bạn có thể quan sát, đối với tất cả các chuỗi đầu vào, chúng tôi cố gắng thêm vào một số nguyên, sẽ tăng một ngoại lệ. Chúng tôi bắt tất cả các ngoại lệ như vậy và in một tin nhắn gỡ lỗi khác bằng cách sử dụng
    import sys
    
    stdout_fileno = sys.stdout
    
    sample_input = ['Hi', 'Hello from AskPython', 'exit']
    
    for ip in sample_input:
        # Prints to stdout
        stdout_fileno.write(ip + '\n')
    
    3.

Làm thế nào để bạn đọc Stdin và Stdout trong Python?

Sử dụng SYS. stdin để đọc từ đầu vào tiêu chuẩn. Mô -đun Python SYS STDIN được thông dịch viên sử dụng cho đầu vào tiêu chuẩn. ....
Sử dụng hàm input () để đọc dữ liệu stdin. Chúng ta cũng có thể sử dụng hàm Python Input () để đọc dữ liệu đầu vào tiêu chuẩn. ....
Đọc đầu vào tiêu chuẩn bằng mô -đun FileInput. Chúng tôi cũng có thể sử dụng FileInput ..

Làm thế nào để bạn sử dụng stdin trong python?

Có một số cách mà chúng ta có thể lấy đầu vào từ Stdin trong Python ...
sys.stdin..
input().
fileinput.input().

Stdout hoạt động như thế nào trong Python?

Một đối tượng tệp tích hợp tương tự như luồng đầu ra tiêu chuẩn của trình thông dịch trong Python.Stdout được sử dụng để hiển thị đầu ra trực tiếp vào bảng điều khiển màn hình.Đầu ra có thể thuộc bất kỳ hình thức nào, nó có thể là đầu ra từ một câu lệnh in, câu lệnh biểu thức và thậm chí là một trực tiếp nhanh chóng cho đầu vào.used to display output directly to the screen console. Output can be of any form, it can be output from a print statement, an expression statement, and even a prompt direct for input.

Làm thế nào để bạn viết thư cho stdout trong Python?

Viết vào đầu ra tiêu chuẩn (stdout) bằng cách sử dụng in rất đơn giản:..
In ("Xin chào đầu ra tiêu chuẩn!").
Nhập sys in ("Xin chào lỗi tiêu chuẩn!", file = sys.stderr).
Nhập sys sys.stdout.write ("Xin chào đầu ra tiêu chuẩn! \ n") sys.stderr.write ("Xin chào lỗi tiêu chuẩn!