我正在编写一个脚本,该脚本使用其中一种os.exec*
方法在 VLC 媒体播放器中打开媒体文件。我在 Windows 10 上使用 Python v3.6。
VLC 打开时出现错误,指出文件无法打开,但是文件的路径也错误。它显示了以我的主目录开头的文件路径,后跟文件名的最后一部分,以空格分隔。
例子:
- 我在路径上有一个视频
D:\videos\SuperCoolVideo - Part1.mp4
- VLC 尝试在路径中打开此
C:\Users\user\Part1.mp4
视频
我正在使用的代码如下:
import os
MEDIA_PLAYER = 'C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe'
video = 'D:\\videos\\SuperCoolVideo - Part1.mp4'
os.execv(MEDIA_PLAYER, [video]) # or os.execl(MEDIA_PLAYER, video)
VLC的错误:
Your input can't be opened:
VLC is unable to open the MRL 'fd://0'. Check the log for details.
Your input can't be opened:
VLC is unable to open the MRL 'file:///C:/Users/user/Part1.mp4'. Check the log for details.
我认为(但不完全确定)这是因为我必须定义视频的路径或正确地转义路径,但我在研究如何正确处理将路径传递给 VLC 方面一直没有成功。
我也试过使用os.system()
无济于事。我收到以下错误消息:
The filename, directory name, or volume label syntax is incorrect.
* 注意:我应该补充一点,我不能使用 subprocess.call('path\to\vlc.exe')
,因为我需要脚本在 VLC 打开后立即结束。使用 subprocess.call()
会导致脚本保持运行,直到我关闭 VLC。