Hướng dẫn how do i redirect print output to a variable in python? - làm cách nào để chuyển hướng kết quả in sang một biến trong python?

💬 Câu hỏi: Làm thế nào để chuyển hướng đầu ra tiêu chuẩn trong Python và lưu trữ nó dưới dạng chuỗi trong một biến?Question: How to redirect the standard output in Python and store it as a string in a variable?

Bài viết này sẽ hướng dẫn bạn qua bảy bước dễ dàng để giải quyết vấn đề này. Như một cái nhìn tổng quan, ở đây, mã trong tám dòng lưu trữ đầu ra tiêu chuẩn trong một biến my_result:

  1. from io import StringIO
  2. tmp = sys.stdout
    0
  3. tmp = sys.stdout
    1
  4. tmp = sys.stdout
    2
  5. tmp = sys.stdout
    3
  6. tmp = sys.stdout
    4
  7. tmp = sys.stdout
    5
  8. tmp = sys.stdout
    6

Hãy cùng đi qua các bước đó từng bước một, chúng tôi sẽ kiểm tra mã đầy đủ để sao chép & dán vào cuối bài viết này, vì vậy hãy đọc tiếp! 👀we’ll examine the full code for copy&paste at the end of this article, so read on! 👀

  • Bước 1: Nhập thư viện Stringio và SYS
  • Bước 2: Giữ stdout trong biến tạm thời
  • Bước 3: Chụp đầu ra tiêu chuẩn bằng cách sử dụng đối tượng Stringio
  • Bước 4: Gán luồng đầu ra tiêu chuẩn cho đối tượng Stringio
  • Bước 5: In vào đầu ra tiêu chuẩn
  • Bước 6: Dọn dẹp bằng cách chuyển hướng Stdout sang Python Shell
  • Bước 7: Nhận và in chuỗi từ stdout
  • Mã đầy đủ

Bước 1: Nhập thư viện Stringio và SYS

Bước 2: Giữ stdout trong biến tạm thời

from io import StringIO 
import sys

Bước 3: Chụp đầu ra tiêu chuẩn bằng cách sử dụng đối tượng Stringio

Bước 2: Giữ stdout trong biến tạm thời

Bước 3: Chụp đầu ra tiêu chuẩn bằng cách sử dụng đối tượng Stringio

tmp = sys.stdout

Bước 3: Chụp đầu ra tiêu chuẩn bằng cách sử dụng đối tượng Stringio

Bước 4: Gán luồng đầu ra tiêu chuẩn cho đối tượng Stringio

my_result = StringIO[]

Bước 5: In vào đầu ra tiêu chuẩn

Bước 4: Gán luồng đầu ra tiêu chuẩn cho đối tượng Stringio

Bước 5: In vào đầu ra tiêu chuẩn

sys.stdout = my_result

Bước 5: In vào đầu ra tiêu chuẩn

Bước 6: Dọn dẹp bằng cách chuyển hướng Stdout sang Python Shell

Bước 7: Nhận và in chuỗi từ stdout

print['hello world']

Mã đầy đủNote: No output appears on the screen anymore because the standard output is now redirected to the variable.

Bước 6: Dọn dẹp bằng cách chuyển hướng Stdout sang Python Shell

Bước 7: Nhận và in chuỗi từ stdout

sys.stdout = tmp

Bước 7: Nhận và in chuỗi từ stdout

Mã đầy đủ

print[result.getvalue[]]

Mã đầy đủ

Nhập hai thư viện

tmp = sys.stdout
7 và
tmp = sys.stdout
8 để truy cập vào đầu ra tiêu chuẩn và lưu trữ luồng đầu vào chuỗi-đầu ra.

# Step 1
from io import StringIO
import sys

# Step 2
tmp = sys.stdout

# Step 3
my_result = StringIO[]

# Step 4
sys.stdout = my_result

# Step 5
print['hello world']

# Step 6
sys.stdout = tmp

# Step 7
print['VARIABLE:', my_result.getvalue[]]
# hello world

Cả hai mô -đun là một phần của thư viện tiêu chuẩn, vì vậy không cần phải cài đặt chúng với PIP!

Chúng tôi sẽ ghi đè lên đầu ra tiêu chuẩn để bắt mọi thứ được ghi vào nó. Để đặt lại mã của bạn về trạng thái bình thường, chúng tôi cần nắm bắt luồng đầu ra tiêu chuẩn ban đầu bằng cách giới thiệu một biến tạm thời.Try it yourself: Click to run in Jupyter Notebook [Google Colab]

Tạo một biến và gán một đối tượng

tmp = sys.stdout
7 cho biến để chụp luồng đầu ra tiêu chuẩn.

  • //wrongsideofmemphis.com/2010/03/01/store-standard-output-on-a-variable-in-python/

Bây giờ, đối tượng này có thể lưu trữ mọi thứ được in vào đầu ra tiêu chuẩn. Nhưng chúng ta phải kết nối nó trước với stdout!

Gán đối tượng

tmp = sys.stdout
7 được tạo trong bước trước cho đầu ra tiêu chuẩn được chụp bằng
my_result = StringIO[]
1.

Từ thời điểm này trở đi, bất cứ điều gì được in bằng câu lệnh

my_result = StringIO[]
2 bởi bất kỳ chức năng nào bạn gọi trong tập lệnh Python của bạn đều được viết trong đối tượng
tmp = sys.stdout
7 được đề cập bởi biến my_result.

Sau đây minh họa cho tuyên bố

my_result = StringIO[]
5 nhưng bạn có thể làm bất cứ điều gì ở đây:

Làm cách nào để chuyển hướng đầu ra lệnh sang một biến trong Python?

Làm thế nào để bạn đặt đầu ra của một lệnh vào một bash biến ?..
var = $ [tên lệnh-here-here] var = $ [tên lệnh-here arg1] var = $ [/path/to/aborm] var = $ [/path/to/lệnh arg1 arg2].
var = `tên lệnh-here` var =` tên lệnh-here arg1` var = `/path/to/cress` var =`/path/to/lệnh arg1 arg1 arg2`.

Làm cách nào để chuyển hướng đầu ra in vào một tệp trong Python?

Sử dụng sys.stdout để chuyển hướng đầu ra in sang tệp văn bản sau khi in một hoặc nhiều lần, sử dụng tệp.đóng [] với tệp như sys.stdout để lưu đầu ra in được chuyển hướng vào tệp. stdout to redirect print output to a text file After printing one or more times, use file. close[] with file as sys. stdout to save the redirected print output to the file.

Bạn có thể đặt một câu lệnh in trong một biến?

Như đã đề cập ở trên, câu lệnh in được sử dụng để xuất tất cả các loại thông tin.Điều này bao gồm dữ liệu văn bản và số, các biến và các loại dữ liệu khác.Bạn cũng có thể in văn bản [hoặc chuỗi] kết hợp với các biến, tất cả trong một câu lệnh.You can also print text [or strings] combined with variables, all in one statement.

Có thể in được sử dụng như một biến trong Python?

Câu lệnh in Python thường được sử dụng để xuất các biến..

Bài Viết Liên Quan

Chủ Đề