|
|
|
|
移动端

python os.path模块常用方法详解(1)

《伟哥的python私房菜》在Python具有易读、易学、易维护、可移植性、跨平台等特点而深受欢迎,并在最近几年迅速崛起。Python的笔者有意的设计限制性很强的语法,使得不好的编程习惯都不能通过编译,python属于所想即所得的语言,实现功能简单浅显易懂,本书主要是笔者在实践中所遇到的经常使用的技巧性文章,希望对读者有所帮助。本节为python os.path模块常用方法详解。

作者:王伟来源:机械工业出版社|2014-05-20 18:31

【新品产上线啦】51CTO播客,随时随地,碎片化学习

python os.path模块常用方法详解(1)

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html

  1. 1.os.path.abspath(path)   
  2. 返回path规范化的绝对路径。   
  3.    
  4. >>> os.path.abspath('test.csv')   
  5. 'C:\\Python25\\test.csv'   
  6.    
  7. >>> os.path.abspath('c:\\test.csv')   
  8. 'c:\\test.csv'   
  9.    
  10. >>> os.path.abspath('../csv\\test.csv')   
  11. 'C:\\csv\\test.csv'   
  12.    
  13. 2.os.path.split(path)  

将path分割成目录和文件名二元组返回。

  1. >>> os.path.split('c:\\csv\\test.csv')   
  2. ('c:\\csv', 'test.csv')   
  3. >>> os.path.split('c:\\csv\\')   
  4. ('c:\\csv', '')   
  5.    
  6. 3.os.path.dirname(path)  

返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。

  1. >>> os.path.basename('c:\\test.csv')   
  2. 'test.csv'   
  3. >>> os.path.basename('c:\\csv')   
  4. 'csv' (这里csv被当作文件名处理了)   
  5. >>> os.path.basename('c:\\csv\\')   
  6. ''   
  7.    
  8. 5.os.path.commonprefix(list)  

返回list中,所有path共有的最长的路径。

如:

  1. >>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff'])   
  2. '/home/td'   
  3.    
  4. 6.os.path.exists(path)  

如果path存在,返回True;如果path不存在,返回False。

  1. >>> os.path.exists('c:\\')   
  2. True   
  3. >>> os.path.exists('c:\\csv\\test.csv')   
  4. False   
  5.    
  6. 7.os.path.isabs(path)  

如果path是绝对路径,返回True。

  1. 8.os.path.isfile(path)  

如果path是一个存在的文件,返回True。否则返回False。

  1. >>> os.path.isfile('c:\\boot.ini')   
  2. True   
  3. >>> os.path.isfile('c:\\csv\\test.csv')   
  4. False   
  5. >>> os.path.isfile('c:\\csv\\')   
  6. False   
  7.    
  8. 9.os.path.isdir(path)  
【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通SOA:基于服务总线的Struts+EJB+Web Service

Java的出现,实现了跨操作系统平台的程序开发,以Java为基础的J2EE技术已经成为因特网服务技术的主流。然而,以J2EE为基础的SOA架构技术必...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊