python中的os库是一个强大实用的文件及目录处理库,这里辨析几个常见os的功能
1. os.path.split() & os.path.splitext()
(1)os.path.split() 将文件路径与文件名区分开,返回为元组
path = '/data0/dyh/tmp/tmp/tmp.txt'
print(os.path.split(path))
[Out]:('/data0/dyh/tmp/tmp', 'tmp.txt')
(2)os.path.splitext() 将完整文件名与扩展名分开,返回为元组
path = '/data0/dyh/tmp/tmp/tmp.txt'
print(os.path.splitext(path))
[Out]:('/data0/dyh/tmp/tmp/tmp', '.txt')
(3)python自带split() 根据分隔符进行split,返回为列表
path = '/data0/dyh/tmp/tmp/tmp.txt'
print(path.split('/'))
[Out]:['', 'data0', 'dyh', 'tmp', 'tmp', 'tmp.txt']
(4)re.split()可以指定多个分隔符,返回为列表
path = '/data0/dyh/tmp/tmp/tmp.txt'
print(re.split('[/.]', path))
[Out]:['', 'data0', 'dyh', 'tmp', 'tmp', 'tmp', 'txt']
ps:另外,str.endwith()也是一个实用的函数,它可以帮助判断一串字符的后缀(suffix)是否为指定值,详见菜鸟教程。
2. os.mkdir() & os.makedirs()
以 path = ‘/data0/dyh/tmp/tmp’ 为例
(1)os.mkdir()只会创建最后一级文件夹,若上一级文件夹不存在,会报错
即,只有当‘‘/data0/dyh/tmp/’存在时,os.mkdir(path)才能成功创建最后一级tmp文件夹
(2)os.makedirs()可以创建多级文件夹
即,即使只存在"/data0/dyh/"文件夹,os.makedirs(path)也能创建两级tmp文件夹