Python 如何找到真实的用户主目录
在多用户操作系统中,主目录是一个特定用户的文件系统位置,用于存放特定用户的文件。
登录目录是主目录的另一个名称。您可以使用Python以多种方式获取主目录。
使用os模块
Python的os模块中的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,您希望将其替换为主目录路径,您可以直接将其放入.expanduser()中,而不是使用安全的方法生成路径,即os.path.join() −
import os
path = os.path.expanduser('~\Documents\mysql_access')
print( path )
输出
以下是上述代码的输出结果 –
C:\Users\Lenovo\Documents\mysql_accessy
使用pathlib模块
在Python中,还可以使用pathlib模块来获取用户的主目录。
示例 – 主目录路径
下面是一个示例,使用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,你想将其替换为你的主目录路径,请使用 Use.expanduser() 方法-
from pathlib import Path
path_string = '~\Documents\mysql_access'
path = Path(path_string).expanduser()
print(path)
输出
以下是上述代码的输出-
C:\Users\Lenovo\Documents\mysql_access
极客笔记