如何使用 Python 查找真实用户主目录?

programmingpythonserver side programming更新于 2025/3/22 15:40:17

在多用户操作系统中,主目录是保存特定于特定用户的文件的文件系统位置。

登录目录是主目录的另一个名称。您可以通过多种方式使用 Python 获取主目录。

使用 os 模块

Python 中的 os.path.expanduser() 函数提供了在所有平台上检索用户主目录的最直接方法。Python os 模块提供 os.path.expanduser(") 来检索主目录。如果它是较长路径的一部分,这也有效。如果路径中没有 ~,该函数将返回未更改的路径。

示例 - 主目录路径

以下是使用 os.path.expanduser() 函数查找主目录的示例 -

import os home_directory = os.path.expanduser( '~' ) print( home_directory )

输出

以下是上述代码的输出 -

C:\Users\Lenovo

示例 - 主目录中的文件

使用 os.path.join 创建路径 C:\Users\Lenovo\Downloads\Works −

import os home_directory = os.path.expanduser( '~' ) path = os.path.join( home_directory, 'Documents', 'mysql_access' ) print( path )

输出

以下是上述代码的输出−

C:\Users\Lenovo\Documents\mysql_access

示例 - ~ 替换

如果您已经有字符串路径,例如 C:\Users\Lenovo\Downloads\Works,您希望将其替换为主目录路径,您可以直接将其放入 to.expanduser() 中,而不是使用安全的方式生成路径,即 os.path.join() −

import os path = os.path.expanduser('~\Documents\mysql_access') print( path )

输出

以下是上述代码的输出 -

C:\Users\Lenovo\Documents\mysql_accessy

使用 pathlib 模块

Python 中的 pathlib 模块也可用于获取用户的主目录。

示例 - 主目录路径

以下是查找主目录 path.home() 函数的示例 -

from pathlib import Path home_directory = Path.home() print( f'Path: { home_directory} !' )

输出

以下是上述代码的输出 -

Path: C:\Users\Lenovo !

示例 - 主目录中的文件

使用.joinpath,您还可以快速创建用户主目录中的路径()−

from pathlib import Path path = Path.home().joinpath( 'Documents', 'mysql_access' ) print(path)

输出

以下是上述代码的输出 -

C:\Users\Lenovo\Documents\mysql_access

示例 - ~ 替换

如果您已经有字符串路径(例如 /Documents/mysql_access),请使用 .expanduser(),您想将其替换为主目录的路径 −

from pathlib import Path path_string = '~\Documents\mysql_access' path = Path(path_string).expanduser() print(path)

输出

以下是上述代码的输出 -

C:\Users\Lenovo\Documents\mysql_access

相关文章


有用资源