如何从 mpv/lua 启动 python 脚本
Posted
技术标签:
【中文标题】如何从 mpv/lua 启动 python 脚本【英文标题】:How to launch python script from mpv/lua 【发布时间】:2021-08-26 18:30:18 【问题描述】:我用python写了一个mpv脚本
https://github.com/iwalton3/python-mpv-jsonipc
我现在正尝试在 mpv 打开时启动脚本,但似乎无法启动我尝试从 mpv 运行
mp.command("run", "python3", "D:\TingTingin\pycharmprojects\mpvipc\got launch.py")
和lua
os.execute("D:\TingTingin\pycharmprojects\mpvipc\got launch.py")
但是脚本没有运行我不知道我做错了什么
【问题讨论】:
反斜杠必须在双引号字符串中转义。 感谢使用mp.commandv("run", "python3", [[D:\TingTingin\pycharmprojects\mpvipc\got lanched.py]])
似乎工作需要把它放在 [[]] 也必须使用 commandv 而不是 command
【参考方案1】:
反斜杠必须在双引号字符串文字中进行转义。 叶戈尔·斯克里普图诺夫
使用mp.commandv("run", "python3", [[D:\TingTingin\pycharmprojects\mpvipc\got launched.py]])
似乎需要将其放入 [[]] 中也必须使用 commandv 而不是 command,这要归功于 Egor Skriptunoff
【讨论】:
【参考方案2】:我认为脚本不会自动启用,除非您在启动时指定。
来自mpv --list-options
:
--script alias for --scripts-append (CLI/config files only)
--script-opts Key/value list (default: )
--script-opts-add
--script-opts-append
--script-opts-set
--script-opts-remove
--scripts String list (default: ) [file]
--scripts-add
--scripts-append
--scripts-clr
--scripts-del
--scripts-pre
--scripts-set
--scripts-toggle
--scripts-remove
可能使用允许您以这种方式永久设置启动选项的 GUI,例如 SMPlayer。
很容易在.bash-aliases
中为您的 mpv 命令起别名,但我猜您是在 Windows 上,因为目录名称...
alias mpv="mpv --script '/home/sketch2/Programming/Scripts/launched.py'"
寻找启动的 TSR,例如 Devilspie2 会这样做。通常用于调整大小并将应用程序放置在您喜欢的位置。可以对类似的东西进行编程以自动运行您的 mpv 脚本。那可能只是 Linux,所以你必须在(假设)Windows 中寻找类似的东西。也许它通过他们的 Linux 子系统运行,我不知道。怀疑它,可能以 windows 不会期望的方式轮询 X。
你会一直使用它,还是偶尔使用它?您可以让您的脚本在后台运行,并让它每 30 秒左右检查一次正在运行的 mpv 实例吗?这基本上就是 TSR 所做的。
https://github.com/mpv-player/mpv/wiki/User-Scripts
编辑:
我刚刚意识到有一个 mpv.conf
-- 这是你设置它的地方。
我不知道它在 Windows 上的存储位置,但在 *nix 上它位于 ~/.config/mpv/
实际上只是命令行参数和您设置的参数。评论已#hashed。
https://github.com/mpv-player/mpv/blob/master/etc/mpv.conf
【讨论】:
以上是关于如何从 mpv/lua 启动 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章
如何执行启动另一个 python 脚本的 python 宏?