Python chuyển hướng thiết bị xuất chuẩn sang biến
Có thể chuyển hướng thiết bị xuất chuẩn từ chương trình bên ngoài sang biến và thiết bị xuất chuẩn từ chương trình bên ngoài sang biến khác trong một lần chạy không? Show
Ví dụ
Một ví dụ buồn tẻ tuy nhiên tôi tự hỏi nếu điều đó là có thể? Giải pháp tốt nhấtMột tùy chọn là kết hợp đầu ra của thiết bị xuất chuẩn và thiết bị xuất chuẩn thành một luồng duy nhất, sau đó lọc Dữ liệu từ thiết bị xuất chuẩn sẽ là chuỗi, trong khi thiết bị xuất chuẩn tạo Hệ thống. Sự quản lý. tự động hóa. ErrorRecord đối tượng
Giải pháp liên quanLinux – Cách chuyển hướng đầu ra sang tệp và thiết bị xuất chuẩnLệnh bạn muốn có tên là 5
Ví dụ: nếu bạn chỉ quan tâm đến thiết bị xuất chuẩn
Nếu bạn muốn bao gồm stderr, hãy làm
6 chuyển hướng kênh 2 (lỗi xuất chuẩn/lỗi tiêu chuẩn) thành kênh 1 (xuất chuẩn/đầu ra tiêu chuẩn), sao cho cả hai đều được viết là thiết bị xuất chuẩn. Nó cũng được chuyển hướng đến tệp đầu ra đã cho kể từ lệnh 5Hơn nữa, nếu bạn muốn thêm vào tệp nhật ký, hãy sử dụng 0 làm
Windows – Chuyển hướng Windows cmd stdout và stderr sang một tệp duy nhấtBạn muốn
Cú pháp 6 sẽ chuyển hướng 2 (stderr) sang 3 (stdout). Bạn cũng có thể ẩn tin nhắn bằng cách chuyển hướng đến 4, giải thích thêm và ví dụ trên MSDN Chào mừng bạn đến với hướng dẫn thứ ba và cũng là hướng dẫn cuối cùng của loạt bài Python Print. Đến cuối hướng dẫn này, bạn sẽ thành thạo hàm Python Print. Vì vậy, trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tự động chuyển hướng luồng đầu ra trong Lập trình PythonVấn đề duy nhất với việc chuyển hướng thủ công luồng đầu ra là chúng ta phải đề cập đến “tham số tệp” mỗi khi chúng ta muốn lưu đầu ra vào tệp. Điều đó tốt, nhưng chỉ khi chúng ta phải lưu đầu ra của một hoặc hai hoặc một câu lệnh in cụ thể. Cách tiếp cận này không lý tưởng khi chúng ta muốn lưu kết quả được trả về bởi tất cả các câu lệnh Python Print của chương trình Đề cập đến tham số tệp với tất cả các câu lệnh in python trong một chương trình không chỉ gây mệt mỏi mà còn dễ mắc lỗi Chuyển hướng thủ công bản in PythonTrong chuyển hướng thủ công của luồng đầu ra, chúng tôi sử dụng tham số 'tệp' của câu lệnh Python Print để yêu cầu trình thông dịch lưu đầu ra được một hàm trả về vào một tệp. Tôi đã giải thích khái niệm chuyển hướng thủ công tại đây. Hãy tiếp tục và kiểm tra xem Tự động chuyển hướng bản in PythonTrong chuyển hướng tự động, chúng tôi sửa đổi luồng đầu ra tiêu chuẩn và đặt nó để lưu đầu ra vào một tệp thay vì hiển thị trên màn hình. Lợi ích của việc thực hiện sửa đổi này là bạn không phải dựa vào tham số 'tệp' để lưu vĩnh viễn đầu ra vào đĩa cứng của mình Tuy nhiên, vấn đề duy nhất với việc tự động chuyển hướng luồng đầu ra là việc đặt lại luồng về trạng thái mặc định cần thêm một chút nỗ lực Những gì bạn sẽ học ngày hôm nay-Trong hướng dẫn này, tôi sẽ chỉ cho bạn, làm thế nào để –
Bây giờ bạn đã có một ý tưởng rõ ràng về chuyển hướng thủ công và tự động luồng lập trình Python, tôi đoán chúng ta nên làm một số ví dụ Ví dụ về Chuyển hướng tự động – Hàm in PythonSử dụng các ví dụ đơn giản này, chúng ta sẽ cố gắng hiểu rõ hơn về khái niệm lập trình Python này Đọc được đề xuất. Bước 1. Tạo tập lệnh PythonVì chúng ta sẽ lưu đầu ra được trả về bởi câu lệnh Python Print vào một tệp, do đó, nên tạo một thư mục dự án chứa tất cả các tệp. Theo tất cả các tệp, ý tôi là tệp Python Script nơi chúng tôi sẽ viết mã. Và tệp sẽ chứa kết quả đầu ra của câu lệnh in Trong trường hợp của tôi, tôi đã tạo thư mục này vào thư mục 'Tài liệu của tôi' và đặt tên là 'Hướng dẫn về Python'. Bạn có thể tạo thư mục của mình ở bất cứ đâu bạn muốn trên hệ thống của mình và đặt tên cho nó là bất cứ thứ gì bạn muốn Bước 2. Tạo tập lệnh PythonKhi bạn đã tạo xong thư mục, tiếp theo bạn phải tạo Tập lệnh Python. Tệp Python Script này sẽ chứa tất cả các mã Python của chúng tôi. Để trình diễn, tôi đã tạo một Tệp Python và đặt tên là 'tut21. py'. Một lần nữa, bạn có thể đặt tên cho tệp của mình bất cứ điều gì bạn muốn Tại sao chúng ta đang làm điều này?Như tôi đã đề cập trước đó, luôn luôn là một cách tốt để giữ cho dự án của bạn được sắp xếp thành một thư mục chuyên dụng. Lợi ích chính của việc làm đó là tất cả các tài nguyên theo yêu cầu của dự án hoặc được tạo bởi Mã Python đều ở một nơi. Nó dễ dàng hơn để tìm thấy chúng Trong ngữ cảnh của chúng tôi, thư mục 'Hướng dẫn về Python' mà tôi đã tạo trong thư mục 'Tài liệu của tôi' chứa tập lệnh Python. Tôi sẽ viết mã cho phần trình diễn hôm nay vào tập lệnh đó. Mã mà chúng ta sẽ viết hôm nay sẽ tạo một tệp. Ngoài ra, tệp đó sẽ chứa tất cả các đầu ra được trả về bởi tất cả các lệnh gọi hàm Python Print Mã này sẽ tạo tệp đó vào thư mục dự án chứa tệp script python. Mà trong trường hợp này là 'Hướng dẫn Python'. Bằng cách đó, chúng tôi không phải nỗ lực nhiều hơn để tìm tệp được tạo bởi mã Python Bước 3. Viết mã để tự động chuyển hướng bản in PythonBây giờ chúng tôi đã tổ chức dự án của mình, tiếp theo chúng tôi phải viết mã. Đối với điều đó, chỉ cần mở Tệp tập lệnh Python mà bạn vừa tạo và bắt đầu viết mã này 1Đây là phần đầu tiên của mã cho chức năng Tự động chuyển hướng in Python Tuyên bố 1Trong dòng đầu tiên, tôi đã nhập mô-đun 'sys'. 'sys' là một mô-đun dựng sẵn của các thư viện Python Tuyên bố 2Như bạn có thể thấy, câu lệnh 2 là một câu lệnh gán. Ở phía bên trái của toán tử gán, chúng ta có “sys. tiêu chuẩn”. thiết bị xuất chuẩn ở đây là một đối tượng tệp. Nếu không được đặt thành bất cứ thứ gì thì theo mặc định, nó sẽ gửi đầu ra tới luồng đầu ra mặc định. Đó hầu như luôn luôn là màn hình của hệ thống của bạn. Nhưng chúng ta có thể thiết lập lại nó Ở phía bên tay phải, chúng ta có chức năng Python Open. Chúng ta đã biết rằng hàm này trả về một đối tượng tệp của tệp có tên mà chúng ta đã chỉ định trong đó Khi thực thi câu lệnh này, trình thông dịch sẽ chuyển hướng luồng đầu ra tới tệp có đối tượng được hàm open của Python trả về. Tệp đó trong trường hợp của chúng tôi sẽ là 'Tut20_Output. txt' Ngoài ra, tôi đã sử dụng 'a' làm chế độ mở (tham số thứ hai của chức năng 'mở'), do đó, Tut20_Output. txt sẽ được mở ở chế độ 'chắp thêm'. Điều này có nghĩa là trên mỗi lần thực thi, dữ liệu mà chương trình trả về sẽ được thêm vào cuối tệp Bạn có thể đọc chi tiết về Chức năng mở Python tại đây Do đó, khi thực thi câu lệnh này, trình thông dịch sẽ đặt lại hành vi mặc định của “thiết bị xuất chuẩn” từ việc in đầu ra trên màn hình sang lưu nó vào một tệp. Mà bạn đã chỉ định trong hàm Python Open 2Đây là phần thứ hai của Chương trình Python. Phần thứ hai chỉ chứa các lệnh gọi hàm Python Print. Nếu bạn đọc kỹ chúng thì bạn sẽ phát hiện ra rằng tôi đã không sử dụng tham số 'tệp' trong bất kỳ thông số nào. Lý tưởng nhất là khi thực hiện, bạn sẽ thấy đầu ra của chúng trên màn hình của mình, vì đó là hành vi thông thường của chúng Nhưng ở đây khi thực hiện, bạn sẽ phát hiện ra rằng, đầu ra sẽ không có trên màn hình của bạn mà nó sẽ được lưu vào tệp Tại sao lại như vậy?Câu lệnh thứ hai (kiểm tra phần 1 của chương trình) của Chương trình Python này đã thay đổi luồng đầu ra từ in kết quả đầu ra trên màn hình thành lưu vào tệp. Do đó không có đầu ra trên màn hình thời gian này Đó là cách chúng tôi chuyển hướng luồng đầu ra trong Lập trình Python. Hy vọng cuộc biểu tình này đã giúp với những nghi ngờ của bạn. Tuy nhiên, nếu bạn có bất kỳ, xin vui lòng để lại cho tôi một tin nhắn trên Facebook của tôi Bây giờ chúng ta hãy đến phần thứ hai của hướng dẫn – đặt lại luồng đầu ra về trạng thái mặc định Xem Video. Đặt lại luồng đầu raGiả sử, bạn đã thêm một câu lệnh in vào chương trình của mình và bạn không muốn lưu câu lệnh đó vào tệp. Thay vào đó, bạn muốn hiển thị lại cho người dùng. Để làm được điều đó, bạn phải đặt lại luồng đầu ra về hành vi mặc định của nó. Hành vi mặc định đó là hiển thị đầu ra trên màn hình Để đặt lại luồng đầu ra trong lập trình Python, bạn phải tuân theo quy trình gồm hai bước. Hãy xem nó là gì – Bước 1. Lưu trạng thái mặc định của Python Print vào một biếnĐầu tiên, bạn phải lưu trạng thái mặc định là ‘sys. stdout' thành một biến. Ngoài ra, hãy đảm bảo rằng bạn phải tạo biến này trước câu lệnh chứa lệnh gọi hàm Python Open. Mà trong trường hợp của chúng tôi, là câu lệnh thứ hai của phần 1 của chương trình Bước 2. Gán biến đó vào 'sys. thiết bị xuất chuẩnTôi biết nó nghe có vẻ khó hiểu nhưng đó là cách nó hoạt động. Bạn không thể gán sys. thiết bị xuất chuẩn vào hệ thống. tiêu chuẩn, như thế này 3Tôi đã chứng minh và giải thích điều này trong video hướng dẫn, bạn có thể kiểm tra tại đây. Điều này sẽ không làm việc Cách thích hợp để đặt lại hành vi mặc định là lưu trữ trạng thái vào biến và sau đó gán biến đó vào tệp 'sys. thiết bị xuất chuẩn. Như thế này 4Đầu ra của tất cả các lệnh gọi hàm in Python trước câu lệnh 9 sẽ được lưu vào tệp trong khi đầu ra của tất cả các lệnh gọi hàm in Python sau câu lệnh 9 sẽ được hiển thị lại cho bạn trên màn hình Đó là cách chúng tôi sửa đổi và đặt lại luồng đầu ra trong lập trình Python. Hy vọng bạn thích hướng dẫn. Nếu bạn vẫn còn thắc mắc, vui lòng để lại tin nhắn cho tôi trên Facebook hoặc Twitter. Ngoài ra, bạn đã đăng ký kênh YouTube của tôi chưa, nếu chưa thì hãy đảm bảo đăng ký. Cảm ơn và chúc một ngày tốt lành
liên kết Bài viết trước Mở tệp bằng hàm OPEN của Python Bài viết tiếp theo Hướng dẫn cơ bản về câu lệnh If trong Python Manish Sharma http. //www. YouTube. com/RebellionRider Manish Sharma, người nhận Giải thưởng ORACLE ACE, là chuyên gia tư vấn & đào tạo cơ sở dữ liệu Oracle. Anh ấy có một kênh YouTube cực kỳ thành công tên là Rebellion Rider. Đây là một trong những kênh xếp hạng hàng đầu khi nói đến các hướng dẫn về cơ sở dữ liệu Oracle với hơn 10 triệu lượt xem Làm cách nào để lưu trữ đầu ra của bàn điều khiển trong một biến Python?Bạn lưu trữ đầu ra bằng Python như thế nào? . Bước 1. Nhập thư viện StringIO và sys Bước 2. Giữ thiết bị xuất chuẩn trong biến tạm thời Bước 3. Nắm bắt đầu ra tiêu chuẩn bằ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 ra đầu ra tiêu chuẩn Bạn có thể gán một biến cho câu lệnh in không?Câu lệnh in cũng hoạt động với các biến . Trong mỗi trường hợp, kết quả là giá trị của biến. Các biến cũng có các loại; . Kiểu của một biến là kiểu của giá trị mà nó tham chiếu đến.
Làm cách nào để bạn chuyển hướng đầu ra từ thiết bị xuất chuẩn sang một tệp trong Python?cách dễ nhất để chuyển hướng thiết bị xuất chuẩn trong python là chỉ cần gán cho nó một đối tượng tệp đang mở . chúng ta hãy xem một ví dụ đơn giản. nhập sys def redirect_to_file(văn bản). ban đầu = hệ thống. hệ thống thiết bị xuất chuẩn. |