<p>为什么尝试直接打印到文件而不是<code>sys.stdout</code>会产生以下语法错误:</p>
<pre><code>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
</code></pre>
<p>从“帮助”(“内置”)中,我获得了以下信息:</p>
<pre><code>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 <a href="https://www.cnpython.com/list/append" class="inner-link">append</a>ed after the last value, default a newline.
</code></pre>
<p>那么,更改标准流打印写入的正确语法是什么?</p>
<p>我知道有不同的可能更好的方法来写文件,但我真的不明白为什么这应该是一个语法错误。。。</p>
<p>如果您能给我一个好的解释,我将不胜感激!</p>