python标准库-os.path和glob学习

参考博客:
http://www.cnblogs.com/vamei/archive/2012/09/05/2671198.html
http://www.cnblogs.com/baiqi/p/3951506.html
http://www.cnblogs.com/sunnyjiangjie/p/4207063.html
参考资料:Python 2.7.7 documentation
参考工具:http://translate.google.cn/
设置path = ‘/home/vamei/doc/file.txt‘
注意windos和linux下的结果可能不同

一、os.path(常见的路径操作)
    os.path.abspath(path) 返回path规范化的绝对路径。
        windos:
            >>> os.path.abspath(path)
            ‘C:\\home\\vamei\\doc\\file.txt‘
        linux:
            >>> os.path.abspath(path)
            ‘/home/vamei/doc/file.txt‘ 
    os.path.basename(path) 查询路径下包含的文件名
        >>> os.path.basename(path)
        ‘file.txt‘
    os.path.commonprefix(list) 返回list中,所有path共有的最长的路径。注意第二个例子,返回可能不是路径。
        >>> os.path.commonprefix([path,‘/home/‘,‘/home/he.txt‘])
        ‘/home/‘
        >>> os.path.commonprefix([‘asdf1234‘,‘asdf50548‘])
        ‘asdf‘    
    os.path.dirname(path) 返回路径名
    ┏os.path.exists(path) 如果path存在返回True;如果path不存在,或者没有执行os.stat()的权限,或者已损坏的链接会返回False
    看的其他博客解释,链接什么的没验证过
    ┗os.path.lexists(path) 与os.path.exists(path)的不同是如果有损坏的链接会返回True
    os.path.expanduser(path) 把path中包含的"~"和"~user"转换成用户目录;看python手册吧
    os.path.expandvars(path) 根据环境变量name的值替换path中包含的$name 和${name}
    os.path.getatime(path) 返回最后一次进入此path的时间。 
    os.path.getmtime(path) 返回此path最后一次修改的时间
    os.path.getctime(path) 返回ctime,(类 Unix) time of the last change; Windows, is the creation time for path 
    os.path.getsize(path) 返回path大小,单位byte 
    os.path.isabs(path) 判断是否绝对路径 
    os.path.isfile(path) 判断路径是否为已存在常规文件,注意,会先判断存在性 
    os.path.isdir(path)  判断路径是否为已存在目录,注意,会先判断存在性 
    os.path.islink(path) 判断路径是否为link 
    os.path.ismount(path) 判断路径是否为挂载点 
    os.path.join(path1[, path2[, ...]]) 使用目录名和文件名构成一个路径字符串,自动使用分隔符os.sep
        >>> os.path.join(‘C:\\‘,‘mydoc‘,‘xxx‘,‘my.txt‘)
        ‘C:\\mydoc\\xxx\\my.txt‘
    os.path.normcase(path) 转换path的大小写和斜杠
    os.path.normpath(path) 规范path字符串形式
    os.path.realpath(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是否指向同一个文件 
    os.path.split(path) 把路径分割成dirname和basename,返回一个元组
    os.path.splitdrive(path) 返回驱动器名和路径组成的元组
        >>> os.path.splitdrive(‘c:\\mydoc\\my.txt‘)
        (‘c:‘, ‘\\mydoc\\my.txt‘)
    os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组
        >>> os.path.splitext(path)
        (‘/home/vamei/doc/file‘, ‘.txt‘)
    os.path.splitunc(path) 把路径分割为加载点与文件
    os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有
                                    3个参数(arg, dirname, names),dirname表示当前目录的目录名,
                                    names代表当前目录下的所有文件名,args则为walk的第三个参数
    os.path.supports_unicode_filenames 设置是否支持unicode路径名

二、glob(Unix style pathname pattern expansion)
    只支持通配符操作*,?,[]这三个通配符
    glob.glob(pathname) 列出所有符合该表达式的文件
        >>> glob.glob(‘D:\Email\*‘)
        [‘D:\\Email\\Archive 2013-11.pst‘, ‘D:\\Email\\outlook.ost‘, ‘D:\\Email\\~outloo
        k.ost.tmp‘]
    glob.iglob(pathname) 获取一个glob.glob(pathname)的可遍历对象

时间: 2024-10-19 04:39:03

python标准库-os.path和glob学习的相关文章

Python标准库--os模块

这个模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行.一个例子就是使用os.sep可以取代操作系统特定的路径分割符. 下面列出了一些在os模块中比较有用的部分.它们中的大多数都简单明了. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd()函数得到当前工作

Python标准库os

如果你希望自己的程序能够与平台无关的话,这个模块至关重要. os.name #'nt' for windows, 'posix' for linux/unix os.getcwd() #get current work directory,即Python脚本工作的目录路径 os.getenv() #get the environment variables os.setenv() #set the ... os.listdir(mdir) #list all files and director

Python 标准库-os

os模块常用方法 模块方法 说明 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,

Python标准库 - os库

python的os模块-对文件的相关操作 1.文件重命名 os模块中的rename()可以完成对文件的重命名操作rename(需要修改的文件名, 新的文件名) import os os.rename("text1.txt", "text2.txt") 2.删除文件 os模块中的remove()可以完成对文件的删除操作 remove(待删除的文件名) import os os.remove("text.txt") 3.创建文件夹 os.mkdir(

Python 标准库一览(Python进阶学习)

转自:http://blog.csdn.net/jurbo/article/details/52334345 写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连应该用哪个类库都不知道,还要去百度(我不信就我一个人那么尴尬TvT) 好像自从学习了基础的Python 语法,看了几本Python经典的书,知道了一些常见的类库.在几本语法应用熟练的情况下,如果不做题,像是无法显著的提高自己的知识储备了(所以叫你去做python challenge啊,什么都不会~~

[学习笔记] Python标准库简明教程 [转]

1 操作系统接口 os 模块提供了一系列与系统交互的模块: >>> os.getcwd() # Return the current working directory '/home/minix/Documents/Note/Programming/python/lib1' >>> os.chdir('~/python') # Change current working directory Traceback (most recent call last): File

[学习笔记] Python标准库的学习准备 [转]

Python标准库是Python强大的动力所在,我们已经在前文中有所介绍.由于标准库所涉及的应用很广,所以需要学习一定的背景知识. 硬件原理 这一部份需要了解内存,CPU,磁盘存储以及IO的功能和性能,了解计算机工作的流程,了解指令的概念.这些内容基础而重要. Python标准库的一部份是为了提高系统的性能(比如mmap),所以有必要了解基本的计算机各个组成部分的性能. 操作系统 在了解操作系统时,下面是重点: 1) 操作系统的进程管理,比如什么是UID, PID, daemon 2) 进程之间

Python标准库04 文件管理 (部分os包,shutil包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令.Python标准库则允许我们从Python内部管理文件.相同的目的,我们有了两条途径.尽管在Python调用标准库的方式不如操作系统命令直接,但有它自己的优势.你可以利用Python语言,并发挥其他Python工具,形成组合的文件管理功能.Python or Shell? 这是留给用户的选择.本文

Python标准库07 信号 (signal包,部分os包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习和理解.signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂停并等待信号,以及定时发出SIGALRM等.要注意,signal包主要是针对UNIX平台(比如Linux, MAC OS),而Windows内核中由于对信号机制的支持不充分,所以在Windows上的Pytho