我目前正在进行的项目让我编写一个 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/