在調用os.path時, 根據操做系統的不一樣 程序會選擇使用posixpath.py
或ntpath.py
(由os
中的代碼實現).python
對文件命名時應當使用unicode字符串(操做系統容許的字符), 但unix中有時沒法使用任意字符進行命名, 此時須要字節對象進行表示. 而windows的狀況則相反.
所以對於此模塊中的方法, 既能夠傳遞字節文件路徑對象, 也能夠傳遞字符文件路徑對象.windows
關於文件路徑自動擴展(替換路徑中的環境變量):操作系統
該模塊中有兩個方法支持自動擴展unix
1.expanduser(path)
用於擴展用戶目錄路徑code
import os fp1 = os.path.expanduser('~') fp2 = os.path.expanduser("~user") print(fp1, fp2, sep='\n') # result: # C:\Users\<本身的用戶名> # C:\Users\user
有如下注意點:對象
2.expandvars(path)
用於擴展環境變量的值unicode
import os fp1 = os.path.expandvars("$USERPROFILE\$OS") fp2 = os.path.expandvars("${USERPROFILE}") print(fp1, fp2, sep='\n') # result: # C:\Users\<username>\Windows_NT # C:\Users\<username>
有如下注意點:字符串
$name
或 ${name}
%name%
os.environ