2011-10-24 2 views
1

VLC를 제어하는 ​​Python 스크립트를 만들고 싶습니다. VLC는 AppleScript로 제어 할 수 있으며 py-appscript을 사용하여 파이썬에서 AppleScript 코드를 실행할 수 있습니다.py-appscript는 인수를 기대합니다

내가

tell application "VLC" to play 

이 나는 ​​또한에 의해 다음 트랙으로 건너 뛸 수 있어야 py-appscript

app('VLC').play() 

에 다음과 같음으로 VLC을 재생/일시 정지 할 수 있습니다 AppleScript를 사용 :

app('VLC').next() 

하지만 이렇게하면 다음과 같은 파이썬 오류가 발생합니다.

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

을 실행하여 스크립트의 24 행에'help (app ('VLC'). next)'실행 결과를 게시 할 수 있습니까? – jro

+0

이것은 다음과 같습니다. '모듈 appscript.reference : appscript.reference.Application 인스턴스의 next (self, klass) 메쏘드에서 다음 메소드에 대한 도움말''next()'가'py-appscript'에 있다고 생각하는 것처럼 보이지만'next()' AppleScript를 통해 VLC를 호출해야합니다. – simonbs

답변

2

: 위의 코드는 완벽하게 작동 애플 스크립트에 다음과 같아야 next으로

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

이 예약 된 키워드입니다, 당신은이 문제를 해결할 수

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

아 물론! 나는 'next'가 키워드라고 생각하지 않았지만 물론 그렇습니다. 사실, 그것은'app ('VLC')입니다. 다음 _()' – simonbs

+0

Durr ... :). 문서와 일치하는 답변을 업데이트했습니다. 감사! – jro

관련 문제