如何在Python中独立于语言安装(linux)获取用户桌面路径

2024-05-14

我找到了“如何找到用户桌面的路径”的几个问题和答案,但在我看来它们都已失效(至少我找到的那些)。原因是,如果用户安装的 Linux 不是英语,他或她的桌面很可能位于除~/Desktop。例如。对于瑞典语,我相信它是在~/Skrivbord。谁知道用户决定将其桌面放置在哪里?

因此,以下内容(或其任何变体)不起作用:

os.sep.join((os.path.expanduser("~"), "Desktop"))

所以问题是:

在linux上,如何在python中获取用户桌面的真实路径而不预设英文默认目录结构?


而不是直接从~/.config/user-dirs.dirs文件你可以调用xdg-user-dir公用事业:

import subprocess
subprocess.check_output(['xdg-user-dir', 'DESKTOP'])

这将适用于任何具有遵循 freedesktop 规范的 DE 的 Linux 发行版,这意味着:KDE、Gnome、XFCE 等等(与 OP 已经发布的解决方案完全相同)。

Edit:

更新了subprocess.check_output因为参数需要位于列表中。 还值得指出的是,您可以将 DESKTOP 更改为例如DOCUMENTS 获取该文件夹。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中独立于语言安装(linux)获取用户桌面路径 的相关文章