質問

なぜを印刷しようとすると直接ファイルの代わりに sys.stdout 生産は、次の構文エラー:

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

からヘルプ(__builtins__)私は、次の情報:

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.

そのうえで、右の書式変更の標準ストリームに書き込み印刷すか?

知っているが異なるものよりよい方法を書き込むファイルがないのはなぜこの構文エラー...

素敵なご説明いただければ幸いです!

役に立ちましたか?

解決

を利用する場合は、 print 機能はPython2は、輸入から __future__:

from __future__ import print_function

ができるのと同様の効果を使用せずに機能しています:

print >>f1, 'This is a test'

他のヒント

プリントは、キーワードはpython2.X.使われます。:

f1=open('./testfile', 'w+')
f1.write('This is a test')
f1.close()

print(args, file=f1) はpython3.x syntax.Python2.xの使用 print >> f1, args.

出力する事が出来ます印刷算書のファイルを変更せずにコードです。単なるバイナリのwindowsの実行コードにこの方法:

python yourcode.py >> log.txt

このリダイレクトの"印刷"出力ファイル:

import sys
sys.stdout = open("file.txt", "w+")
print "this line will redirect to file.txt"

Python3.0+, print機能, るまで電話をかけ print(...).以前の版 print, るんだと print ....

印刷ファイルにPythonのよ3.0たい:

print >> f, 'what ever %d', i

>> オペレーターの指示の印刷ファイルへの f.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top