代码:
import os apath = os.path.abspath(__file__) # 绝对路径 dirname = os.path.dirname(apath) basename = os.path.basename(apath) print("1:", apath) print("2:", dirname) print("3:", basename) print("4:", os.path.split(apath)) print("5:", os.path.join(dirname, basename)) print("1:", os.path.join('aaaa', '/bbbb', 'ccccc.txt')) print("2:", os.path.join('/aaaa', '/bbbb', 'ccccc.txt')) print("3:", os.path.join('aaaa', './bbb', 'ccccc.txt'))
结果:
1: C:\Users\wes\Projects\wes.py 2: C:\Users\wes\Projects\ 3: wes.py 4: ('C:\\Users\\wes\\Projects', 'wes.py') 5: C:\Users\wes\Projects\wes.py 1: /bbbb\ccccc.txt 2: /bbbb\ccccc.txt 3: aaaa\./bbb\ccccc.txt
结论:
- os.path.abspath(path) :返回path规范化的绝对路径。
- os.path.dirname(path) :返回path的目录。
- os.path.basename(path) :返回path的文件名。
- os.path.split(path) :返回path分割成目录和文件名的二元组。
- os.path.join(path1, path2): 返回拼接后的路径。
注:
os.path.join(path1, path2):
- 会从第一个以”/”开头的参数开始拼接,之前的参数全部丢弃。
- 以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,会从”./”开头的参数的上一个参数开始拼接。