如何使用 Python 查詢真實的使用者的家目錄?


在多使用者作業系統中,家目錄是一個檔案系統位置,用於儲存特定使用者的檔案。

登入目錄是家目錄的另一個名稱。您可以透過多種方式使用 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,希望將其替換為家目錄路徑,您可以將其直接放入 .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

更新於: 2022年8月18日

15K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.