Python 如何找到更改目录名的路径?

Python 如何找到更改目录名的路径?,python,regex,firefox,ubuntu,Python,Regex,Firefox,Ubuntu,我想在我的python代码中访问Ubuntu上的以下路径: ~/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups 其中包含Firefox书签 问题是“.default”前面的部分对于每个用户和机器都是不同的。 是否有一种方法可以指定此目录的常规路径,并使python访问它并检索所需的文件 有没有可能在python代码中实现“~”来访问当前用户的主页 >>> import os >>> os.path.exp

我想在我的python代码中访问Ubuntu上的以下路径:

~/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups 
其中包含Firefox书签

问题是“
.default
”前面的部分对于每个用户和机器都是不同的。 是否有一种方法可以指定此目录的常规路径,并使python访问它并检索所需的文件

有没有可能在python代码中实现“
~
”来访问当前用户的主页

>>> import os
>>> os.path.expanduser('~/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups')
'/home/username/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups'
要在系统范围内访问个人firefox目录(具有足够的权限),您可以尝试:

>>> import glob
>>> glob.glob('/home/*/.mozilla/firefox/*.default/bookmarkbackups')
正如@NedBatchelder所指出的,这可以组合成一个命令:

import os, glob
next(glob.iglob(os.path.expanduser('~/.mozilla/firefox/*.default/bookmarkbackups')))

返回一条(如果存在)路径。

对此我深表歉意,谢谢。没问题。。我也必须学会这一点。文章可读性越强,我发现答案就越有可能出现:)谢谢,这解决了“~”问题,仍然无法访问“.default”@user1239277之前的任何名称-使用
glob
的通配符解决方案是否适合您?不妨将两者结合起来:
glob.glob(os.path.expanduser(“~/.mozilla/firefox/*.default/bla”)
@eumiro:OP上写着
~
和“当前用户的主目录”