os.path.join()函数用于路径拼接文件路径,可以传入多个路径。
-
从后往前看,会从第一个以”/”开头的参数开始拼接,之前的参数全部丢弃;
-
以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,会从”./”开头的参数的前面参数全部保留
import os
print("1:", os.path.join('aaaa', '/bbbb', 'ccccc.txt'))
print("2:", os.path.join('/aaaa', '/bbbb', '/ccccc.txt'))
print("3:", os.path.join('aaaa', 'bbbb', './cccc', 'ccccc.txt'))
print("4:", os.path.join('aaaa', 'bbbb', './cccc', 'dddd', 'ccccc.txt'))
print("5:", os.path.join('aaaa', 'bbbb', './cccc', '/dddd', 'ccccc.txt'))
print("6:", os.path.join('aaaa', 'bbbb', 'cccc', 'dddd', 'ccccc.txt'))
print("7:", os.path.join('aaaa', 'bbbb', 'cccc', 'dddd', ''))
输入结果为:
1: /bbbb/ccccc.txt
2: /ccccc.txt
3: aaaa/bbbb/./cccc/ccccc.txt
4: aaaa/bbbb/./cccc/dddd/ccccc.txt
5: /dddd/ccccc.txt
6: aaaa/bbbb/cccc/dddd/ccccc.txt
7: aaaa/bbbb/cccc/dddd/
- 如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾 ;
import os
Path1 = 'home'
Path2 = 'develop'
Path3 = ''
Path10 = Path1 + Path2 + Path3
Path20 = os.path.join(Path1, Path2, Path3)
Path30 = os.path.join(Path2, Path1, Path3)
print('Path10 = ',Path10)
print('Path20 = ',Path20)
输入结果为:
Path10 = homedevelop
Path20 = home\develop\
os.path.join()的功能只是起到连接文件的作用,而不能生成文件,如果执行这条语句之后就想生成一个目录或者文件名,可以用:os.mkdir(os.path.join("F:\", "test.txt"))
os.path.join(os.getcwd(),'data')是获取当前目录,并组合成新目录
注:Linux用的是/分隔符,而Windows才用的是\