2017-01-25 16 views
1

나는 매우 이상하고 혼란스러운 문제가 있습니다. VLC Media Player로 .wmv 파일을 열고 닫는 작업을 자동화하려고합니다. 내가 파일을 열 때 처음 사용 된 코드는 잘 작동 : 그것은os.system과 함께 taskkill을 사용하여 VLC.exe를 종료 할 수 없습니다.

os.system("taskkill /im vlc.exe") 

이 연주 할 수 있도록 내가 준비 할 때

# set directory  
os.chdir("Path/to/folder/containing/wmvfiles")  
# start the given file name 
os.startfile("ExampleFileName.wmv") 

가 그럼 난이 비디오를 닫으려면 다음 코드를 사용합니다 잘 했어! 그러나 ...... 나는 전체 화면을 열 필요가있다. Sooo, 나는이 코드로 비디오를 시작했다.

위대한 작품! 그것은 전체 화면으로 열리고 모두 잘됩니다. 그러나 ..... taskkill은 프로세스를 닫지 않습니다. 가능한 한 구체적으로,이 코드는의 VLC 프로그램을 열어 남아있을 것입니다 닫히지 않습니다 :

# open the file in full screen  
os.system 
('""C:\Program Files\VideoLAN\VLC\\vlc.exe" -f "c:\videoFiles\\videoName.wmv""') 
# close the file 
os.system("taskkill /im vlc.exe") 

이상한 허? 그것은 더욱 악화됩니다. 나는 파일이 방법을 열면 :

os.system 
('""C:\Program Files\VideoLAN\VLC\\vlc.exe" -f "c:\videoFiles\\videoName.wmv") 

은 그 때 나는 그것은 닫

taskkill /im vlc.exe 

에서 명령 프롬프트를 입력로 이동합니다. 내가 명령 프롬프트에서 직접 명령을 실행할 때 내 파일 첫 번째 방법 (os.startfile) 시작할 때

os.system("taskkill /im vlc.exe") 

만 작동 : 다음과 같은 이유가 전혀 생각이 없다. 이것은 혼란스러운 질문 일지 모르지만, 그것은 매우 혼란스러운 문제이며, 어떤 도움이나 의견도 매우 감사 할 것입니다. 감사합니다!

+0

만 복사 및 붙여 넣기 오류,하지만 인용 이상한 보이는 두 개의 큰 따옴표 다음에 해당 닫는 일없이 여는 것은 작은 따옴표는 ... 확인하세요 시도한 코드를 게시했는지, 아니면 이미이 오류입니까? 또한 두 번째'os.system ("taskkill/im vlc.exe"줄에 닫는 괄호가 없습니다.) – maij

+0

@maji가 이것을 수정하면서 오타를 만들었습니다. – mattp341

+0

vlc이 실제로 실행되고 있는지 확인하십시오. – maij

답변

0

확실하지 않습니다. 그러나 os을 사용하지 않고 subprocess을 사용합니다.

뭔가 같은 :

import shlex, subprocess 
p = subprocess.Popen(shlex.split("cmd of some sort")) 
# 
# More code 
# 
p.terminate() 
아마
+0

이것은 제가 시작한 프로세스를 그냥 끝낼 수 있는지 궁금합니다. – mattp341

+0

'subprocess' 모듈은'os.system'의 사용법을 대체하기 위해 만들어졌습니다. 그것을 가진 가능성. – RobertB