python - 如何使用 python 在 Raspberry Pi 上打开 PowerPoint?

标签 python linux raspberry-pi raspbian raspberry-pi2

我目前正在进行的项目让我编写一个 pi 以通过 libre office 自动运行 PowerPoint 文件。

我正在使用 subprocess.Popen 尝试打开和关闭仅显示的 PowerPoint 文件。

除以下行之外的所有代码都可以正常工作:

    p = subprocess.Popen(['/usr/share/applications/libreoffice-impress.desktop', '/home/pi/Desktop/test.ppsx])

此行返回“权限被拒绝”错误。但是,可执行文件和 .ppsx 文件都将所有权限设置为任何人。这包括指向它们的路径中的所有文件夹。

我是否忘记授予特定文件权限?或者另一个文件是否需要具有正确的权限?还是我应该使用更好的命令来完全打开和关闭 PowerPoint?

最佳答案

只需直接使用命令,libreoffice --impress 就是在 /usr/share/applications/libreoffice-impress.desktop 中执行的命令,它将工作正常,您不必担心权限问题:

subprocess.check_call(['libreoffice', '--impress', '/home/pi/Desktop/test.ppsx'])

check_call当你想调用一个进程时会更好,如果进程返回一个非零退出状态你会知道它会引发一个 CalledProcessError

如果您更喜欢使用 .desktop,我建议您在您的主目录中创建一个,您也可以使用 sudo 路径,但考虑到您可以简单地直接运行该命令,这没有多大意义。

关于python - 如何使用 python 在 Raspberry Pi 上打开 PowerPoint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098873/

相关文章:

python - Ursina 中的第一人称 Controller y-pos 逻辑

python - 列表理解与生成器表达式的奇怪时间结果?

python - 类型错误 : unsupported operand type(s) for *: 'int' and 'NoneType'

python aiohttp 进入现有的事件循环

c# - C#中Raspberry Pi的CPU温度

Raspberry PI 上 dockerfile 中带有 numpy 的 Python 脚本 - libf77blas.so.3 错误

c++ - qmake 为 win32-g++ 平台生成的 Makefile 包含 unix 命令

linux - 如何从证书文件(.crt 扩展名)生成证书请求和私钥文件(.pem 扩展名)

java - 能够运行 shell 脚本,但不能运行来自 java 的 Runtime.getRuntime().exec() 的 curl 命令

linux - 组合 chmod 和 chgrp 的 Shell 命令