Skip to content

常见场景

如果文件夹不存在,新建文件夹

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: .png
url = "./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.png
import 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.txt
1: /bbbb\ccccc.txt
2: /ccccc.txt
3: aaaa\./bbb\ccccc.txt