Mengapa mencoba mencetak langsung ke file alih-alih sys.stdout
menghasilkan kesalahan sintaks berikut:
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
Dari bantuan (__ builtins__) saya memiliki info berikut:
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.
Jadi apa sintaks yang tepat untuk mengubah penulisan stream print standar?
Saya tahu bahwa ada beberapa cara yang mungkin lebih baik untuk menulis ke file tetapi saya benar-benar tidak mengerti mengapa ini harus menjadi kesalahan sintaks ...
Penjelasan yang bagus akan dihargai!
print()
adalah fungsi built-in python 3.x, sedangkanprint
operator python <3.x. Posting menunjukkan2.7.2+
.