在调用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