1. os 中的一些变量python
os.sep ———— 路径各部分之间的分隔符(例如,“/”或者“\”) os.extsep ———— 文件名和文件扩展名之间的分隔符(例如,“.”) os.pardir ———— 路径中表示目录树上一级的部分(例如,“...”) os.curdir ———— 路径中表示当前目录的部分(例如,“.”)
示例代码:函数
import os print os.sep print os.extsep print os.pardir print os.curdir
运行结果:
\ . .. .
2. split()函数将路径分为两个单独的部分,并返回包含这些结果的一个元组,这个元组的第二个元素是路径的最后一个部分,第一个元素为剩余的前面部分。
示例代码:code
import os.path for path in [ '/one/two/three', '/one/two/three/', '/', '.', '']: print '%15s : %s' %(path, os.path.split(path))
运行结果:
/one/two/three : ('/one/two', 'three') /one/two/three/ : ('/one/two/three', '') / : ('/', '') . : ('', '.') : ('', '')
3. basename()函数返回的值等价于split()返回元组的第二个元素three
示例代码:
字符串
import os.path for path in [ '/one/two/three', '/one/two/three/', '/', '.', '']: print '%15s : %s' %(path, os.path.basename(path))
运行结果:
/one/two/three : three /one/two/three/ : / : . : . :
4. dirname()函数返回分解路径获得的第一部分
示例代码:it
import os.path for path in [ '/one/two/three', '/one/two/three/', '/', '.', '']: print '%15s : %s' %(path, os.path.dirname(path))
运行结果:
/one/two/three : /one/two /one/two/three/ : /one/two/three / : / . : :
因此将 dirname()和 basename() 的结果结合,能够获得原来的路径.
io
5. splitext()函数和split()相似,不过他是根据扩展名分隔符而不是目录分隔符来分解路径class
示例代码:import
import os.path for path in [ 'filename.txt', 'filename', '/path/to/filename.txt', '/', '' 'my-archive.tar.gz', 'no-extension.',]: print '%21s : %s' %(path, os.path.splitext(path))
运行结果:
filename.txt : ('filename', '.txt') filename : ('filename', '') /path/to/filename.txt : ('/path/to/filename', '.txt') / : ('/', '') my-archive.tar.gz : ('my-archive.tar', '.gz') no-extension. : ('no-extension', '.')
6. commonprefix()取一个路径列表做为参数,将返回一个字符串,表示全部路径中都出现的公共前缀。
这个值可能表示一个根本不存在的路径,并且不考虑路径分隔符,因此这个前缀可能并不落在一个分隔符边界上。 变量
示例代码:
import os.path paths = [ '/one/two/three/four', '/one/two/threeflod', '/one/two/three/'] for path in paths: print 'PATH:', path print 'PREFIX :', os.path.commonprefix(paths)
运行结果:
PATH: /one/two/three/four PATH: /one/two/threeflod PATH: /one/two/three/ PREFIX : /one/two/three