Điều này cũng sẽ hoạt động, do tiêu chuẩn hướng ra đầu ra tệp.txt trước khi thực thi "file.py": Show
Ngoài ra, thực thi tập lệnh trong quá trình phụ:
Nếu bạn muốn ghi vào một thư mục, giả sử bạn muốn mã hóa đường dẫn thư mục: Giới thiệuHàm 5 của Python thường được sử dụng để hiển thị văn bản trong dòng lệnh hoặc trong trình thông dịch tương tác, tùy thuộc vào cách thực thi chương trình Python. Tuy nhiên, chúng ta có thể thay đổi hành vi của nó để viết văn bản vào một tệp thay vì vào bảng điều khiển.Trong bài viết này, chúng tôi sẽ kiểm tra nhiều cách chúng tôi có thể viết vào một tệp với chức năng 5.Chuyển hướng đầu ra kịch bản của Python trong thiết bị đầu cuốiCách nhanh chóng và bẩn để chuyển hướng đầu ra của tập lệnh Python trực tiếp từ dòng lệnh trong khi thực thi tập lệnh. Ví dụ: nếu chúng ta có một tệp python có tên 7 với các nội dung sau:
Chúng ta có thể chuyển hướng đầu ra của tệp trong shell bằng một khung góc phải duy nhất:
Nếu chúng tôi mở 8 mới được tạo, chúng tôi sẽ thấy các nội dung sau:
Tuy nhiên, với phương thức này, tất cả đầu ra của tập lệnh được ghi vào một tệp. Nó thường linh hoạt hơn khi thực hiện chuyển hướng này từ trong chính tập lệnh Python. Chuyển hướng luồng đầu ra tiêu chuẩnTrong Python, hàm 5 linh hoạt hơn bạn nghĩ. Nó không được mã hóa cứng theo cách mà văn bản được chỉ định chỉ có thể được ghi vào màn hình. Thay vào đó, nó gửi văn bản đến một vị trí gọi là luồng đầu ra tiêu chuẩn, còn được gọi là 0.Tất cả các hệ thống UNIX có ba ống chính - ống đầu vào tiêu chuẩn ( 1), ống đầu ra tiêu chuẩn ( 0) và ống lỗi tiêu chuẩn ( 3).Theo mặc định, đường ống đầu ra tiêu chuẩn chỉ vào cửa sổ tương tác được sử dụng để thực hiện chương trình, vì vậy chúng ta thường thấy văn bản được in trên màn hình. Tuy nhiên, đầu ra tiêu chuẩn có thể được chuyển hướng đến các vị trí khác, chẳng hạn như các tệp, để thuận tiện. Nếu đầu ra tiêu chuẩn được chuyển hướng đến một tệp cụ thể, văn bản được chỉ định trong hàm 5 sẽ được ghi vào tệp đó thay vì được hiển thị trên màn hình.Trong Python, một tham chiếu đến đầu ra tiêu chuẩn có thể thu được bằng cách sử dụng đối tượng 0 của mô -đun 6. Nó là một đối tượng giống như tệp, có nghĩa là nó có các phương thức cho phép Python đọc và ghi từ nó giống như một tệp thực tế.Hãy xem một ví dụ trong đó chúng ta thay đổi 0 thành một tệp:
Hàm 5 lấy đối số chuỗi được cung cấp, nối thêm một ký tự dòng mới đến cuối và gọi phương thức 9 để ghi nó vào đầu ra tiêu chuẩn.Trong ví dụ trên, trước tiên chúng tôi in một dòng văn bản khi chúng tôi đã quen, sẽ được hiển thị trong bảng điều khiển khi chúng tôi chạy tệp. Sau đó, chúng tôi đã chỉ định lại 0 cho đối tượng tệp tùy chỉnh của chúng tôi - 1. Vì một đối tượng tệp có phương thức 2 hoàn toàn hợp lệ, giá trị in của chúng tôi được ghi vào tệp mà không gặp sự cố.Lưu ý rằng đó là cách thực hành tốt để lưu trữ giá trị ban đầu của đầu ra tiêu chuẩn trong một biến trước khi thay đổi nó. Bằng cách này, chúng tôi có thể đặt lại đầu ra tiêu chuẩn về giá trị ban đầu của nó sau khi chúng tôi hoàn thành, điều này có thể giúp tránh sự nhầm lẫn. Hãy lưu mã vào một tệp mới, 3. Và sau đó, hãy thực hiện nó:
Chúng ta sẽ thấy đầu ra sau trong thiết bị đầu cuối:
Và tập lệnh sẽ tạo một tệp mới có tên 4 với các nội dung sau:Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!
Bạn chuyển hướng thành công dữ liệu từ luồng đầu ra tiêu chuẩn sang một tệp. Hãy xem làm thế nào chúng ta có thể làm điều này với một đối tượng giống như tệp phổ biến khác dành riêng cho các lỗi lập trình. Chuyển hướng luồng lỗi tiêu chuẩnTrong Python, các lỗi được ghi vào luồng lỗi tiêu chuẩn, còn được gọi là 3. Điều này cũng mặc định vào cửa sổ tương tác nhưng có thể được thay đổi thông qua đối tượng 6. Nếu chúng tôi muốn in các giá trị thành 3, chúng tôi chỉ có thể chuyển hướng 8 để trỏ đến 6.Tạo một tệp có tên 0 và thêm mã sau: 0Ví dụ này gần như giống hệt với cái trước, ngoại trừ thay vì chuyển hướng luồng đầu ra tiêu chuẩn đến một tệp, chúng tôi chuyển hướng nó sang luồng lỗi tiêu chuẩn. Nếu luồng lỗi tiêu chuẩn cũng được chuyển hướng ở một nơi khác, đầu ra sẽ được gửi đến vị trí đó thay vì đến màn hình. Hãy chạy tệp này: 1Đầu ra của chúng tôi sẽ hiển thị: 2Mặc dù nó có thể xuất hiện giống như đầu ra thông thường đối với chúng tôi, nhưng đối với máy tính, nó được hiển thị thông qua các đường ống khác nhau. In bằng tham số "Tệp"Trong các ví dụ trước, chúng tôi chuyển hướng rõ ràng đầu ra tiêu chuẩn sang đối tượng giống như tệp khác bằng cách thay đổi đối tượng 0. Tuy nhiên, để thuận tiện, chúng ta có thể thực hiện điều này trực tiếp từ trong hàm 5 bằng cách chỉ định vị trí đầu ra với tham số 3:Ví dụ: nếu chúng tôi muốn in trực tiếp vào một tệp mà không thay đổi toàn bộ tập lệnh 0, chúng tôi sẽ viết: 3Vì chúng tôi không fiddle với việc chuyển hướng đầu ra tiêu chuẩn một cách rõ ràng, chúng tôi không còn phải đặt lại nó về giá trị ban đầu của nó. Kết quả là, đây là cách ưa thích để ghi vào một tệp với chức năng 5.Lưu ý: Mặc dù tên của tham số là 3, remember that it works with any file-like object. If you wanted to print to 3, for example, you would change the 5 statement to: 4Sự kết luậnTrong bài viết này, chúng tôi đã thảo luận về việc chuyển hướng đầu ra chức năng 5 của Python bằng các phương pháp khác nhau. Các phương pháp này bao gồm chuyển hướng đầu ra của tập lệnh Python từ dòng lệnh, chuyển hướng đầu ra tiêu chuẩn trong các tập lệnh Python và chỉ định một đối tượng giống như tệp trong tham số 3 trực tiếp trong hàm 5.Bài viết này được viết bởi Jacob Stopak, một nhà phát triển phần mềm và tư vấn với niềm đam mê giúp đỡ người khác cải thiện cuộc sống của họ thông qua mã. Jacob là tác giả của Sách hướng dẫn Coding Essentials cho các nhà phát triển, một cuốn sách giới thiệu bao gồm các khái niệm và công cụ mã hóa thiết yếu. Nó chứa các chương về kiến trúc máy tính cơ bản, Internet, dòng lệnh, HTML, CSS, JavaScript, Python, Java, cơ sở dữ liệu/SQL, Git, v.v. |