python os.path模块

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

os.path.a*

1、os.path.abspath(path) 返回path规范化的绝对路径。

>>> os.path.abspath('test.csv') 
'C:\\Python25\\test.csv' 
>>> os.path.abspath('c:\\test.csv') 
'c:\\test.csv' 
>>> os.path.abspath('../csv\\test.csv') 
'C:\\csv\\test.csv' 

os.path.b*

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

>>> os.path.basename('c:\\test.csv') 
'test.csv' 
>>> os.path.basename('c:\\csv') 
'csv' (这里csv被当作文件名处理了) 
>>> os.path.basename('c:\\csv\\') 
'' 

os.path.c*

1、os.path.commonprefix(list) 返回list中,所有path共有的最长的路径。 如:

>>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff']) 
'/home/td' 

os.path.d*

1、os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素。

>>> os.path.dirname('c:\\csv\test.csv') 
'c:\\' 
>>> os.path.dirname('c:\\csv') 
'c:\\' 

os.path.e*

1、os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False。

>>> os.path.exists('c:\\') 
True 
>>> os.path.exists('c:\\csv\\test.csv') 
False 

os.path.g*

1、os.path.getsize(path) 返回path的文件的大小(字节)。

>>> os.path.getsize('c:\\boot.ini') 
299L 

2、os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间。

3、os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

4、os.path.getctime(path) 返回path的大小

os.path.i*

1、os.path.isabs(path) 如果path是绝对路径,返回True。

2、os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False。

>>> os.path.isfile('c:\\boot.ini') 
True 
>>> os.path.isfile('c:\\csv\\test.csv') 
False 
>>> os.path.isfile('c:\\csv\\') 
False 

3、os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False。

>>> os.path.isdir('c:\\') 
True 
>>> os.path.isdir('c:\\csv\\') 
False 
>>> os.path.isdir('c:\\windows\\test.csv') 
False 

4、os.path.islink(path) 判断路径是否为链接

5、os.path.ismount(path) 判断路径是否为挂载点()

os.path.j*

1、os.path.join(path1[, path2[, …]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。

>>> os.path.join('c:\\', 'csv', 'test.csv') 
'c:\\csv\\test.csv' 
>>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv') 
'c:\\csv\\test.csv' 
>>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c') 
'/home/aa/bb/c' 

os.path.n*

1、os.path.normcase(path) 在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。

>>> os.path.normcase('c:/windows\\system32\\') 
'c:\\windows\\system32\\' 

2、os.path.normpath(path) 规范化路径。

>>> os.path.normpath('c://windows\\System32\\../Temp/') 
'c:\\windows\\Temp' 

os.path.r*

1、os.path.realpath(path) 返回path的真实路径

2、os.path.relpath(path[, start]) 从start开始计算相对路径

os.path.s*

1、os.path.split(path) 将path分割成目录和文件名二元组返回。

>>> os.path.split('c:\\csv\\test.csv') 
('c:\\csv', 'test.csv') 
>>> os.path.split('c:\\csv\\') 
('c:\\csv', '') 

2、os.path.splitdrive(path) 返回(drivername,fpath)元组

>>> os.path.splitdrive('c:\\windows') 
('c:', '\\windows') 

3、os.path.splitext(path) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作

>>> os.path.splitext('c:\\csv\\test.csv') 
('c:\\csv\\test', '.csv') 

4、os.path.splitunc(path) 把路径分割为加载点与文件

5、os.path.samefile(path1, path2) 判断目录或文件是否相同

6、os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件

7、os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件

8、os.path.supports_unicode_filenames 设置是否支持unicode路径名

os.path.w*

1、os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python程序员杂谈

ubuntu设置python2.5环境变量

转到python开发了,对windows的依赖就不是特别大了,因此使用一下linux对工作也是没有影响的。所以,就在新买的thinkpad上装了一个ubuntu...

26340
来自专栏Python程序员杂谈

python项目练习八:使用XML-RPC进行远程文件共享

这是个不错的练习,使用python开发P2P程序,或许通过这个我们可以自己搞出来一个P2P下载工具,类似于迅雷。说到迅雷,关于其原理不知道大家是否了解,如果你不...

17630
来自专栏Python程序员杂谈

python web开发环境搭建-web HelloWorld

  我的环境是:wamp1.7.4+python-2.5.2.+ mod_python-3.3.1.win32-py2.5-Apache2.2

24530
来自专栏Python程序员杂谈

python项目练习十:DIY街机游戏

终于来到了最后一个项目,看看前面的那些练习,也算是熟悉了python的基本操作,也知道python能干哪些事情,最后一个项目相比于以前的稍微复杂些,但是任何一个...

17230
来自专栏Python程序员杂谈

python监听usb鼠标插入

在刚把电脑系统转为linux之后,一直觉得需要通过命令:sudo rmmod psmouse来完成禁用触摸板的操作实在是太不方便了,于是就想着用一个python...

40720
来自专栏Python程序员杂谈

python项目练习七:自定义公告板

这依然是一个cgi的项目,有了前面的一个项目作为基础,这个里面没有什么难点。不过,和书上不同的是,我这里使用的数据库是mysql,所以有兴趣的童鞋,可以参考一下...

15930
来自专栏Python程序员杂谈

python正则表达式替换字符串

一个实例,有一段html代码,不符合xml格式规范,所以要用python对它进行下转换。 其中要转换的地方有:

1.7K30
来自专栏未闻Code

日常技巧记录-2018.08

Docker镜像Standalone-chrome找不到Chrome的问题,解决办法:

9730
来自专栏Python程序员杂谈

python项目练习九:文件共享2-GUI版本

python里面的界面库有很多,如wxPython、wgGTK、tkinter,还有QT,按照书中的实例,我也使用wxPython来做界面。话说有了这个界面之后...

15610
来自专栏后端沉思录

python小白爬取某东bra数据分析

最近用python爬取了某东上的x款bra的用户评论,然后进行了size、color分析,直接上图:

19030

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励