2016-11-10 9 views
0

私はPythonには初めてです。 file = file_outに構文エラーがあります。下の がエラーである場合、コードはそれ以降です。私はインターネットからコードをコピーして貼り付けています。 ^は、print行の= between file = file_outの下にあります。印刷ファイルの構文エラーを解決する方法= linuxのファイル

エラー:

File "./xxx.py", line 18
print ("%s"%(line), file=file_out)
^

コード:あなたはおそらくfileキーワードが導入されていなかったのPython 2を、実行している

import fnmatch 
import os 

rootPath = '/xxx/xxx//' 
pattern = 'xxx.txt' 

file_in = open(os.path.join(root, filename),"r") 
file_out = open("output.txt", "w") 

for root, dirs, files in os.walk(rootPath): 
for filename in fnmatch.filter(files, pattern): 
    print(os.path.join(root, filename)) 
    for line in file_in: 
      print ("%s"%(line), file=file_out) 
    file_in.close() 
    file_out.close() 

答えて

0

の行をfile_out.write(line+"\n")に変更してください。これは同等でシンプルで、今までのすべてのPythonバージョンで動作します。

しかし、行末でファイルイテレータの問題の行が含まので、ちょうどfile_out.write(line)

+0

を書くことは、あなたが使用するつもりなら、改行を自分で追加することを忘れないように、あなたは2つの改行をしたくありません'file.write'メソッドです。 – user2357112

+1

あなたは正しいですが、私はOPが2つの改行を望んでいないと思います(ファイルのイテレータがそれを発行するので、 'line'は改行を既に持っています) –

関連する問題