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

时间:2015-12-04 22:56:34

标签: 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文件都将所有权限设置为任何人。这包括通向它们的路径中的所有文件夹。

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

1 个答案:

答案 0 :(得分:1)

只需直接使用命令,libreoffice --impress这就是/usr/share/applications/libreoffice-impress.desktop内部的执行,它会正常工作,你不会担心权限:

subprocess.check_call(['libreoffice', '--impress', '/home/pi/Desktop/test.ppsx'])
当你想要调用一个进程时,

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

如果您更喜欢使用.desktop,我建议您在主目录中创建一个,你也可以沿着sudo路线走,但考虑到你可以直接运行那个没有多大意义的命令。