2010-01-01 48 views

Trả lời

24

Cú pháp này có nghĩa là ghi vào đối tượng tệp (sys.stderr trong trường hợp này) thay vì đầu ra tiêu chuẩn. [Link]

Trong Python 3.0, print trở thành một chức năng thay vì một tuyên bố: [Link]

print("Error in atexit._run_exitfuncs:", file=sys.stderr) 
+0

Lưu ý rằng đây là cú pháp Python 2.x. Python 3.0 có chức năng in, và việc chuyển hướng được thực hiện hoàn toàn khác nhau. –

5

Từ Python documentation:

in cũng có một hình thức mở rộng, xác định bởi phần thứ hai của cú pháp được mô tả ở trên. Hình thức này là đôi khi được gọi là “in chữ V.” Trong biểu mẫu này, biểu thức đầu tiên sau >> phải đánh giá đối tượng “giống như tệp”, cụ thể là đối tượng có phương thức write() được mô tả ở trên. Với biểu mẫu mở rộng này, các biểu thức tiếp theo là được in ra đối tượng tệp này. Nếu biểu thức đầu tiên ước tính là Không, thì sys.stdout được sử dụng làm tệp cho đầu ra.

Các vấn đề liên quan