2011-10-24 10 views
1

VLCを制御するPythonスクリプトを作りたいと思います。 VLCはAppleScriptで制御することができ、py-appscriptを使用すると、PythonからAppleScriptコードを実行できます。py-appscriptは引数を期待しています

私は

tell application "VLC" to play 

これは私がまたによって次のトラックにスキップすることができるはずpy-appscript

app('VLC').play() 

に以下に等しいことにより、VLCを再生/一時停止することができAppleScriptを使用:

app('VLC').next() 

しかし、私は次のようなPythonエラーが発生します:

Traceback (most recent call last): 
    File "vlclib.py", line 25, in <module> 
    app('VLC').next() 
TypeError: next() takes exactly 2 arguments (1 given) 

なぜこのエラーが発生するのですか? appscript documentationから

tell application "VLC" to next 
+0

を実行することにより、あなたのスクリプトの 'help(app( 'VLC')。next)'行を24行目に投稿できますか? – jro

+0

これは私に以下を与えます: 'appscript.reference:appscript.reference.Applicationインスタンスの次の(self、klass)メソッド'のメソッドのヘルプnext'は 'py-appscript'に' next() 'があると思っているようですが、' next() ' AppleScriptでVLCに呼び出す必要があります。 – simonbs

答えて

2

:上記のコードは完璧に動作するAppleScriptに次のように等しくなければならないnextとして

Names that match Python keywords or names reserved by appscript have an underscore appended.

は予約キーワードである、あなたがこの問題を解決することができ

app('VLC').next_() 
+0

ああ、もちろん!私は、「次へ」がキーワードであるとは思わなかったのですが、もちろんそうです。実際には、 'app( 'VLC')。next _()' – simonbs

+0

Durr ... :)です。ドキュメントに合わせて答えを更新しました。ありがとう! – jro

関連する問題