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

如何在Python脚本中调用PiPresents并指定pp_mediashow_1p3配置启动演示?

在Python脚本中给PiPresents传递启动参数的正确方式

嘿,刚好碰到过类似的需求,我来帮你搞定这个参数传递的问题!

你现在用subprocess.run("/home/pi/pipresents/pipresents.py")只启动了脚本,但没传递-p pp_mediashow_1p3参数,其实用subprocess有两种靠谱的方式来实现:

方式一:推荐的列表式传参(安全无风险)

subprocess.run()最推荐的用法是把命令拆成一个个独立的元素放进列表里,这样能避免shell注入的安全问题,也不会因为参数里有特殊字符出问题。对应你要执行的命令,代码应该写成这样:

import subprocess
subprocess.run(["python", "/home/pi/pipresents/pipresents.py", "-p", "pp_mediashow_1p3"])

这里每个空格分隔的部分都是列表里的一个元素,-p是参数名,pp_mediashow_1p3是对应的值,这样PiPresents就能正确识别到你要加载的演示配置了。

方式二:使用shell=True(按需选择,注意安全)

如果你更习惯直接写完整的命令字符串,可以加上shell=True参数,但要注意:如果你的参数里包含来自不可信来源的内容,这种方式会有安全风险,所以只在参数固定的情况下用比较稳妥:

import subprocess
subprocess.run("python /home/pi/pipresents/pipresents.py -p pp_mediashow_1p3", shell=True)

额外小提示

如果PiPresents需要从指定目录加载配置文件(也就是你提到的/home/pi/pp_home/pp_mediashow_1p3下的json文件),可以在subprocess.run()里加上cwd参数指定工作目录,确保脚本能正确找到配置:

import subprocess
subprocess.run(
    ["python", "/home/pi/pipresents/pipresents.py", "-p", "pp_mediashow_1p3"],
    cwd="/home/pi/pp_home/pp_mediashow_1p3"
)

不过一般来说PiPresents会根据-p参数自动定位到对应的配置目录,这个可以根据实际运行情况调整。

内容的提问来源于stack exchange,提问作者Raffael Gangelberger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:40:53