Python thực thi lệnh shell chuyển hướng đầu ra sang tệp

Theo mặc định, đầu ra tiêu chuẩn được in ra bàn điều khiển. Tuy nhiên, bạn có thể chuyển hướng đầu ra đó sang một tệp bằng bất kỳ chức năng nào sau đây

1. chuyển hướng vỏ

Cách tiếp cận phổ biến nhất để chuyển hướng đầu ra tiêu chuẩn sang một tệp là sử dụng chuyển hướng shell. Ưu điểm của phương pháp này là nó không yêu cầu bất kỳ thay đổi mã nào. Đây là cách bạn có thể chuyển hướng đầu ra stdoutstderr sang một tệp bằng cách sử dụng toán tử >

1

2

$ trăn chính. py > tệp.

 

Tải xuống mã

2. Sử dụng sys.stdout

Một giải pháp đơn giản khác để chuyển hướng đầu ra tiêu chuẩn sang tệp là đặt sys.stdout thành đối tượng tệp, như minh họa bên dưới

1

2

3

4

5

6

nhập sys

 

đường dẫn = 'đường dẫn/đến/một số/dir/tệp. txt'

sys. stdout = mở[đường dẫn, 'w']

in['Xin chào thế giới']

 

Tải xuống mã

3. Sử dụng chức năng contextlib.redirect_stdout[]

Một tùy chọn khác là sử dụng hàm contextlib.redirect_stdout[] trong Python 3. 4 thiết lập trình quản lý ngữ cảnh để chuyển hướng sys.stdout sang một tệp khác. Đây là một ví dụ làm việc

1

2

3

4

5

6

7

nhập contextlib

 

đường dẫn = 'đường dẫn/đến/một số/dir/tệp. txt'

với mở[đường dẫn, 'w'] as f:

    với contextlib. redirect_stdout[f].

        in['Xin chào thế giới'], trong đó n là số mô tả tệp. Để chuyển hướng thiết bị xuất chuẩn, chúng tôi sử dụng “1>” và đối với thiết bị xuất chuẩn, “2>” được thêm làm toán tử.

Chủ Đề