python中os.path模块下的函数总结

转:https://blog.csdn.net/u010541307/article/details/52824899
https://blog.csdn.net/use_my_heart/article/details/52353756
python中os.path模块下的函数总结:
#coding:utf-8
import  os

path = 'C:\Python27\Lib\site-packages\myLibrary'

print os.path.abspath(path) #返回绝对路径
print os.path.basename(path) #返回文件名
'os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。'
print os.path.dirname(path) #返回文件路径
print os.path.exists(path) #路径存在则返回True,路径损坏返回False
print os.path.lexists              #路径存在则返回True,路径损坏也返回True
print os.path.expanduser(path)    #把path中包含的"~"和"~user"转换成用户目录
print os.path.expandvars(path)    #根据环境变量的值替换path中包含的”$name”和”${name}”
print os.path.getatime(path)      #返回最后一次进入此path的时间。
print os.path.getmtime(path)      #返回在此path下最后一次修改的时间。
print os.path.getctime(path)      #返回path的大小
print os.path.getsize(path)       #返回文件大小,如果文件不存在就返回错误
print os.path.isabs(path)         #判断是否为绝对路径
print os.path.isfile(path)        #判断路径是否为文件
print os.path.isdir(path)         #判断路径是否为目录
print os.path.islink(path)        #判断路径是否为链接
print os.path.ismount(path)       #判断路径是否为挂载点()
'os.path.join(path1[, path2[, ...]])         #把目录和文件名合成一个路径'
print os.path.normcase(path)      #转换path的大小写和斜杠
print os.path.normpath(path)      #规范path字符串形式
print os.path.realpath(path)      #返回path的真实路径
'os.path.relpath(path[, start])  #从start开始计算相对路径'
'os.path.samefile(path1, path2)  #判断目录或文件是否相同'
'os.path.sameopenfile(fp1, fp2)  #判断fp1和fp2是否指向同一文件'
'os.path.samestat(stat1, stat2)  #判断stat tuple stat1和stat2是否指向同一个文件'
print os.path.split(path)     #把路径分割成dirname和basename,返回一个元组
print os.path.splitdrive(path)     #一般用在windows下,返回驱动器名和路径组成的元组
print os.path.splitext(path)  #分割路径,返回路径名和文件扩展名的元组
print os.path.splitunc(path)      #把路径分割为加载点与文件
'os.path.walk(path, visit, arg)  #遍历path,进入每个目录都调用visit函数,visit函数必须有'
#3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有
#文件名,args则为walk的第三个参数
print os.path.supports_unicode_filenames      #设置是否支持unicode路径名

这个模块实现了操作路径名的常用的函数。读写文件参见open(),访问文件系统参见os模块。

注意

在Windows上,许多函数不能正确的支持UNC路径名。splitunc()ismount()可以正确的处理它们。

和Unix shell不一样,Python不做任何自动的路径扩展。当应用需要shell一样的路径扩展的功能,可以调用expanduser()expandvars()这样的函数来实现。(参见glob模块)。

注意

不同的操作系统有不同的路径命名惯例,所以在标准库中,这个模块有许多版本。os.path模块总是适用于Python正在运行的操作系统和本地路径。但是如果你想操作不同格式的路径,可以导入并使用独立的模块。它们有着相同的接口:

  • posixpath 用于UNIX风格的路径
  • ntpath 用于Windows路径
  • macpath 用于老式的MacOS路径
  • os2emxpath 用于OS/2 EMX路径

os.path.abspath(path)

返回路径名path的规范化的绝对路径。在大多数平台,这等同于这样normpath(join(os.getcwd(), path))调用normpath()函数。

出现于版本1.5.2。

os.path.basename(path)

返回路径名path的主文档名。在path上调用split()函数,返回的二元组中的第二个元素就是主文档名。这和Unix的basename不同;对于'/foo/bar/',basename返回'bar',而basename()函数返回空字符串('')。

os.path.commonprefix(list)

返回list中所有路径的最长通用前缀(逐字符比较)。如果list为空,返回空字符串('')。因为是逐字符比较,所以可能会返回无效的路径。

os.path.dirname(path)

返回路径名path的目录名。在path上调用函数split(),返回的二元组中的第一个元素就是目录名。

os.path.exists(path)

如果path引用一个存在的路径,返回True。如果path引用一个断开的符号链接,返回False。在某些平台上,尽管path物理存在,但是由于没有执行os.stat()的权限,该函数也会返回False。

os.path.lexists(path)

如果path引用一个存在的路径,返回True。对于断开的符号链接也返回True。等同于缺少os.lstat()的平台上的exists()

出现于版本2.4。

os.path.expanduser(path)

在Unix和Windows平台上,返回参数,参数中开头的~或者~user被替换成user的主/家目录。

在Unix上,开头的~被替换成环境变量HOME,如果它被设置的话;否则,通过内建模块pwd在密码目录查询当前用户的家目录。如果开头是 ~user ,则直接在密码目录中查询(user的家目录)。

在Windows上,将使用HOME和USERPROFILE,如果它们被设置的话;否则使用HOMEPATH和HOMEDRIVE的组合。如果开头是~user,首先按上述方式得到user路径,然后移除最后的目录部分。

如果扩展失败或者参数path不是以~打头,则直接返回参数(path)。

os.path.expandvars(path)

返回参数,其中的环境变量被扩展。参数中形如$name或者${name}的部分被替换成环境变量name的值。如果格式不正确或者引用了不存在的变量,则不进行替换(或者扩展)。

在Windows上, 除了$name和${name}之外还支持如%name%这样的扩展。

os.path.getatime(path)

返回path的最后访问时间。返回的是从Unix纪元开始的跳秒数(epoch,Unix纪元,即GMT 1970-01-01 00:00:00)(参见time模块)。如果文件不存在或者不可访问,返回os.error

出现于版本1.5.2。

改变于版本2.3:如果os.stat_float_times()返回True,则结果是浮点数。

os.path.getmtime(path)

返回path的最后修改时间。返回的是从Unix纪元开始的跳秒数(参见time模块)。如果文件不存在或者不可访问,返回os.error

出现于版本1.5.2。

改变于版本2.3:如果os.stat_float_times()返回True,则结果是浮点数。

os.path.getctime(path)

返回系统的ctime,在Unix这样的系统上,它是文件元数据最后修改时间(或者可以说是文件状态最后修改时间);在Windows这样的系统上,它是path的创建时间。返回的是从Unix纪元开始的跳秒数(参见time模块)。如果文件不存在或者不可访问,返回os.error

出现于版本2.3。

os.path.getsize(path)

返回path的大小,以字节为单位。如果文件不存在或者不可访问,返回os.error

出现于版本1.5.2。

os.path.isabs(path)

如果path是绝对路径名,返回True。在Unix上,这表示路径以/开始;在Windows上,这表示路径以\开始(在去掉可能的盘符后,如C:)。

os.path.isfile(path)

如果path是一个存在的普通文件,返回True。它会跟随符号链接,所以对相同的路径,islink()isfile()可以同时为真。

os.path.isdir(path)

如果path是一个存在的目录,返回True。它会跟随符号链接,所以对于相同的路径,islink()isdir()可以同时为真。

os.path.islink(path)

如果path引用的目录条目是个符号链接,返回True。如果Python运行期不支持符号链接,则总是返回False。

os.path.ismount(path)

如果路径名path是一个mount point(挂载点),返回True。挂载点是文件系统中的一点,不同的文件系统在此被挂载。它检查path的父目录path/..和path是否在不同的设备上,或者检查path/..和path是否指向相同设备的相同i-node,——这可以检查出Unix和POSIX变种下的挂载点。

os.path.join(path1[, path2[, ...]])

将一个或多个路径正确地连接起来。如果任何一个参数是绝对路径,那之前的参数就会被丢弃,然后连接继续(如果在Windows上,如果有盘符,盘符也会被丢弃)。返回的值是path1path2等等的连接,每个非空部分除了最后一个后面只跟随一个目录分隔符(os.sep)。(这意味着最后一部分为空将导致路径以分隔符结尾。)注意,在windows上, 由于每个盘符都是一个目录,因此,os.path.join("c:", "foo") 将返回一个C盘的相对路径,即基于C盘C:的绝对路径 (c:\foo), 而非一个相对路径c:foo.

os.path.normcase(path)

标准化路径名的大小写。在Unix和Mac OS X上,原样返回路径;在大小写不敏感的系统上,将路径名转换成小写。在Windows上,还会将斜线转换成反斜线。

os.path.normpath(path)

标准化路径名,合并多余的分隔符和上层引用,这样A//B, A/B/, A/./B 和A/foo/../B 都变成 A/B。该字符串操作可能改变包含符号链接的路径的含义。在Windows上,还会将斜线转换成反斜线。若要标准化大小写,请使用normcase()

os.path.realpath(path)

返回指定的文件名的规范名字,并消除路径中遇到的任何符号链接(如果操作系统支持的话)。

出现于版本 2.2。

os.path.relpath(path[, start])

返回自当前目录或者可选的start 目录的 path相对文件路径。这只是单纯的路径计算:不会访问文件系统以确认path 或者 start 的存在性或者属性。

start 默认为os.curdir

可用的平台: Windows、 Unix。

出现于版本 2.6。

os.path.samefile(path1path2)

如果两个路径名参数引用的是相同的文件或目录(由设备号和i-node号指示),则返回True。如果在任一路径上调用os.stat()失败将抛出异常。

可用的平台:Unix。

os.path.sameopenfile(fp1fp2)

如果描述符fp1 和fp2引用的是相同的文件,则返回True。

可用的平台:Unix。

os.path.samestat(stat1stat2)

如果文件信息元组stat1stat2引用的是相同的文件,则返回True。这些结构可能是由os.fstat()os.lstat()或者os.stat()返回。该函数底层使用samefile() 和sameopenfile()实现比较。

可用的平台:Unix。

os.path.split(path)

将路径名path 分割成(head, tail),其中tail路径名的最后一部分,head 是其之前的所有部分。tail部分永远不会包含斜线;如果path以斜线结束,tail 将为空。如果path中没有斜线,head将为空。如果path为空,head 和 tail两个都将为空。尾部的斜线会从head中去除掉,除非它是根目录(只包含一个或多个斜线的目录)。对于所有情况,join(head, tail)都将返回一个和path相同的位置(但是表示的字符串可能不一样)。另请参阅dirname() 和basename()函数。

os.path.splitdrive(path)

path分割成一个(drive, tail)对,其中drive是一个驱动器描述符或者空字符串。在没有使用驱动器描述符的系统上,drive 将永远是空字符串。无论哪一种情况,drive + tail将和 path相同。

出现于版本1.3。

os.path.splitext(path)

将路径名path分割成一个(root, ext)对使得root + ext == path,ext 为空或者以点号开始并至多包含一个点。路径名前面的点号将被忽略;splitext('.cshrc') 返回 ('.cshrc', ')。

版本2.6 以后的变化:当点号是第一个字符时,早期的版本将产生一个空的root。

os.path.splitunc(path)

将 path 分隔成一个(unc, rest)对,unc 是UNC挂载点(例如r'\\hostmount'),rest 是路径剩下的部分(例如 r'\path\file.ext')。对于包含驱动器字母的路径,unc将永远是空字符串。

可用的平台:Windows。

os.path.walk(pathvisitarg)

以 path 为根目录(如果 path 为目录,则包括它 本身),为目录树中每一个目录以(arg, dirname, names)参数调用函数visit。参数 dirname 表示访问的目录,参数 names 列出该目录中的文件(从os.listdir(dirname) 得到)。 visit 函数可以修改names 以改变dirname 下访问的目录集合,例如为了避免访问目录树中特殊部分。( names 引用的对象必须使用del或者切片赋值就地修改。)

注意

指向目录的符合链接不会被当作子目录,因此 walk() 将不会访问它们。To visit linked directories you must identify them with os.path.islink(file) and os.path.isdir(file), and invoke walk() as necessary.

注意

该函数已经被弃用,并且,为了鼓励使用 os.walk(),该函数在 Python 3 中已经被移除。

os.path.supports_unicode_filenames

如果可以使用任意Unicode 字符串作为文件名则为True(在文件系统强加的限制之内)。

出现于版本2.3.

猜你喜欢

转载自blog.csdn.net/zhuimengshaonian66/article/details/81133880