Tại sao cố gắng để in trực tiếp vào một tập tin thay vì sys.stdout
sản xuất các lỗi cú pháp sau:Python 2.7: Print to File
Python 2.7.2+ (default, Oct 4 2011, 20:06:09)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f1=open('./testfile', 'w+')
>>> print('This is a test', file=f1)
File "<stdin>", line 1
print('This is a test', file=f1)
^
SyntaxError: invalid syntax
Từ sự giúp đỡ (__ builtins__) Tôi có các thông tin sau:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
Vậy cú pháp chính xác để thay đổi bản in luồng chuẩn sẽ ghi là gì?
Tôi biết rằng có những khác nhau cách thể tốt hơn để ghi ra tập tin nhưng tôi thực sự không hiểu tại sao điều này phải là một lỗi cú pháp ...
Một lời giải thích tốt đẹp sẽ được đánh giá cao!
Bạn có chắc chắn? 'print()' là hàm dựng sẵn python 3.x, còn 'print' là toán tử python <3.x. Bài đăng hiển thị '2.7.2 +'. – khachik
Bạn có 'from __future__ import print_function' không? Trong Python <3, in là một câu lệnh: – Ari
Không! Tôi đã không. Tất nhiên bạn có quyền. Điều đó giải quyết vấn đề. Chết tiệt! Vì vậy, in tài liệu trong trợ giúp (\ __ builtins__) là phiên bản in tương lai (3.x) có một cú pháp khác. Cảm ơn bạn rất nhiều và bạn cũng vậy, kachik – alex