2012-09-14 40 views
3

要開始使用python VLC,我做到了這一點:啓動VLC通過Python的

import subprocess 

p = subprocess.Popen(["C:\Program Files(x86)\VideoLAN\VLC\vlc.exe","C:\Users\Kamilos\Desktop\TBT\Tbt_S01E17.avi"]) 

但它不工作,爲什麼? :P

(在python 2.7.3測試和3)

EDIT解決:像Drake說,只需用blash取代反斜槓

subprocess.Popen(["C:/Program Files(x86)/VideoLAN/VLC/vlc.exe","C:/Users/Kamilos/Desktop/TBT/Tbt_S01E17.avi"])‌​ 
+0

'P = subprocess.Popen([R 「C:\程序文件(x86)\ VideoLAN的\ VLC \ vlc.exe」,R「C:\用戶\ Kamilos \桌面\ TBT \ Tbt_S01E17.avi「])' – icecrime

+0

感謝您的幫助,但它也不能正常工作,我總是有同樣的錯誤 回溯(最近呼叫最後): 文件」C:\ Users \ Kamilos \ (「C:\ Program Files文件(x86)\ VideoLAN \ VLC \ vlc.exe」)) 文件「C:\ Python32 \ lib \ subprocess.py」文件「Desktop \ site.py」,第2行,在 Popen ,第736行,在__init__ restore_signals,start_new_session) 文件「C:\ Python32 \ lib \ subprocess.py」,行946,在_execute_child中 startupinfo) WindowsError:[Error 2] Le fichierspécifiéest introuvable(無法找到文件) –

+0

vlc是否啓動? – Onlyjus

回答

4

您在路徑分隔符之後有效地轉義每個字符。與"\n"意味着一條新線一樣,"\P","\V"也意味着除了2個字符以外的字符串。

您可以使用"\\"(或"/",不記得Windows使用哪個)路徑分隔符,但正確的方法是讓Python使用os.path.join爲您一起加入路徑。

嘗試:

import subprocess 
import os 

p = subprocess.Popen([os.path.join("C:/", "Program Files(x86)", "VideoLAN", "VLC", "vlc.exe"),os.path.join("C:/", "Users", "Kamilos", "Desktop", "TBT", "Tbt_S01E17.avi")]) 
+0

It works too;) –

+0

由於'C:\'將是'C:/ Program ...)\ ... \ ...,所以更好地使用'C:\\'而不是'C:/'。 \ vlc.exe'(注意斜槓錯誤),而使用'\\'會正確導致'C:\ Program Files(x86)\ VideoLAN \ VLC \ vlc.exe'。都爲我工作。 –

-1

驗證該路徑存在:

import os 
print os.path.exists("C:\Users\Kamilos\Desktop\TBT\Tbt_S01E17.avi")