编写Python脚本调用VLC播放YouTube视频遇权限拒绝错误求助
解决调用VLC播放YouTube视频的PermissionError问题
问题根源
你遇到的PermissionError: [WinError 5] Access Denied并非真的权限不足,而是两个核心错误导致:
- 直接调用.lnk快捷方式:
subprocess.Popen无法直接执行Windows快捷方式(.lnk文件),系统无法将这类文件识别为可执行程序,因此抛出权限相关错误。 - 路径格式错误:路径开头多了一个多余的引号
",同时字符串里的反斜杠\未正确转义(Python中\是转义字符,需写成\\或用原始字符串r""包裹)。
修复方案
方法1:直接调用VLC可执行文件(推荐)
找到VLC安装目录下的vlc.exe(默认路径为C:\Program Files\VideoLAN\VLC\vlc.exe),用正确格式调用:
import subprocess import tkinter as tk from tkinter import simpledialog root = tk.Tk() root.withdraw() youtube_url = simpledialog.askstring(title="Youtube reader", prompt="Enter youtube video url:") # 用原始字符串避免转义问题,直接调用vlc.exe主程序 subprocess.Popen([r"C:\Program Files\VideoLAN\VLC\vlc.exe", youtube_url])
方法2:通过系统Shell处理快捷方式(不推荐)
若一定要使用快捷方式,可开启shell=True让Windows系统解析.lnk文件,注意修正路径格式:
import subprocess import tkinter as tk from tkinter import simpledialog root = tk.Tk() root.withdraw() youtube_url = simpledialog.askstring(title="Youtube reader", prompt="Enter youtube video url:") # 去掉多余引号,用原始字符串指定快捷方式路径,开启shell=True subprocess.Popen([r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\VideoLAN\VLC.lnk", youtube_url], shell=True)
额外提示
- 确保VLC默认安装了YouTube插件,否则可能无法正常加载YouTube链接。
- 若你的VLC安装路径不是默认值,需替换为实际的
vlc.exe路径。
内容的提问来源于stack exchange,提问作者DevFoxie
相关产品推荐
相关产品推荐

