2016-05-11 7 views
0

CasperJSチュートリアルで作業していて、構文にエラーが発生しています。 Python 3.5.1を使用する。Pythonエラー:print subprocess.check_output - 無効な構文

ファイル:scrape.py

import os 
import subprocess 

APP_ROOT = os.path.dirname(os.path.realpath(__file__)) 
CASPER = '/projects/casperjs/bin/casperjs' 
SCRIPT = os.path.join(APP_ROOT, 'test.js') 

params = CASPER + ' ' + SCRIPT 

print subprocess.check_output(params, shell=True) 

エラー:

File "scrape.py", line 10 
    print subprocess.check_output(params, shell=True) 
       ^
SyntaxError: invalid syntax 

YouTubeのビデオチュートリアル:Learning to Scrape...

+0

無関係1- 'APP_ROOT'にスペースが含まれる場合は、 'CASPER + '' + SCRIPT'はコマンドラインの作成方法ではないので、' check_output() '呼び出しは失敗するかもしれません。出力を表示したい場合は、ここでシェルを使用する必要はありません。 'check_call([CASPER、SCRIPT])' 3- minor: '__file__'の代わりに' get_script_dir() 'を使うことができます(http://stackoverflow.com/a/22881871)。/4279) – jfs

答えて

1

print subprocess.check_output(params, shell=True)は、Python 2構文です。 printは、Python 2のキーワードと後者のためのPython 3の機能である、あなたが記述する必要があります。

print(subprocess.check_output(params, shell=True)) 
+0

おかげさまで、プリント全体が機能的なものになりましたが、かっこは正しく表示されませんでした。 – Casey