You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:20:26