Appearance
常见场景
如果文件夹不存在,新建文件夹
python
import os
output_dir = './xxx/www'
if not os.path.exists(output_dir):
os.makedirs(output_dir)import os
output_dir = './xxx/www'
if not os.path.exists(output_dir):
os.makedirs(output_dir)判断是否存在文件
os.path.exists('xxx.bin')
相对路径转化为绝对路径
os.path.abspath('./utils/xx.py')
绝对路径转化为相对路径
os.path.relpath('xxx')
分割文件名和扩展名
python
url = "./images/logo.png"
(file, ext) = os.path.splitext(url) # file: ./images/logo ext: .pngurl = "./images/logo.png"
(file, ext) = os.path.splitext(url) # file: ./images/logo ext: .png分割路径和文件名
python
import os
url = "./images/logo.png"
path, filename = os.path.split(url) # path: ./images filename: logo.pngimport os
url = "./images/logo.png"
path, filename = os.path.split(url) # path: ./images filename: logo.png拼接路径
os.path.join()函数用于路径拼接文件路径。
os.path.join()函数中可以传入多个路径:
- 会从第一个以”/”开头的参数开始拼接,之前的参数全部丢弃。
- 以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,会从”./”开头的参数的上一个参数开始拼接。
python
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','./bbb','ccccc.txt'))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','./bbb','ccccc.txt'))输出为
python
1: /bbbb\ccccc.txt
2: /ccccc.txt
3: aaaa\./bbb\ccccc.txt1: /bbbb\ccccc.txt
2: /ccccc.txt
3: aaaa\./bbb\ccccc.txt