安装后的文件路径

安装后的文件路径

我正在使用 quick ide,但在文件路径方面遇到了麻烦。应用程序所需的附加文件应该放在哪里?当我在应用程序安装后将附加文件放入 /data/ 文件夹中时,新路径是什么?它是存储在 /opt/extras.ubuntu.com/projectName/share 中还是 /usr/share/ 中?根据应用程序对决规则,它必须在 opt 中。

应用程序需要 root 权限才能写入其文件?如何访问 Python 代码中的文件路径?

答案1

当你想写文件路径时,你必须以相对方式写。所以在 Glade 中你必须写

../media/icon.png

使用两个点 (.) 即可返回/data文件夹。然后,您说要进入 /media 并打开 icon.png。您必须这样做,因为 Glade .ui 文件存储在其中/projectname/data/ui/- 从这里您必须返回 1,然后进入/media文件夹。

例如,在编写 .desktop.in 文件(桌面/应用程序条目)以包含图标时,您必须这样编写:

./data/media/icon.png

注意只写一个要点。

哦,我忘了:该应用程序不需要 root 权限即可写入文件,并可快速自动完成所有重要的打包(与 /opt/ 有关的事情)。您不必关心 /opt/。

我希望我能帮助你解答你的疑问。

PS:请注意,Ubuntu 应用程序开发者对决已经结束!

答案2

我一直在想过去最好的办法是什么,并看了http://developer.ubuntu.com对于媒体播放器(链接现在似乎已经失效了),他们使用快速使用时默认存在的辅助模块。

from <appname>_lib import helpers

def get_path(self):
    file_path = helpers.get_media_file("filename.ext")
    file_path = file_path.replace("file:///", "")
    return file_path

如果您查看实际的帮助程序代码,这只会在数据文件夹内查看媒体文件夹。

这将返回以“file:///”为前缀的文件路径,但该路径并不总是被接受,因此被删除。

答案3

我认为 [appname]_lib/[appname]config.py 中的 get_data_path() 函数就是为此而设置的。因此,在 Python 中,在文件开头导入该函数:

from [appname]_lib.[appname]config.py import get_data_path

然后,当您想要使用数据目录中的文件时,您可以像这样获取其路径:

data_path = get_data_path()
filepath = os.path.join(data_path, 'mydatafile.css')

相关内容