• python模块之os和os.path模块


    1.os模块
    os.listdir(dirname)  列出dirname下的目录和文件
    os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
    os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
    os.curdir:返回但前目录(’.')

    os.chdir(dirname):改变工作目录到dirname
    os.sep 可以取代操作系统特定的路径分割符。
    os.name字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。
    os.remove()函数用来删除一个文件。
    os.system()函数用来运行shell命令。
    os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用’ ’,Linux使用’ ’而Mac使用’ ’

    os.makedirs(dirname)创建多级目录,如:os.makedirs(‘/data/cc/ll/xx/zz’)
    os.mkdir(path) 创建多级目录
    os.rmdir(path) # 删除目录 如:WIN: os.rmdir(‘E:\book\temp’) LINUX: os.rmdir(‘/data/cc’)

    os.walk ,遍历一个目录下面的所有文件  返回一个生产器

    for base_dir,dirs,files in os.walk(dir_path):
            pass

    base_dir是遍历到的目录,dirs是base_dir目录下面的所有文件夹,files是base_dir目录下面的所有文件。


    文件拷贝还可用shutil
    import shutil
    shutil.copyfile(‘listfile.py’, ‘d:/test.py’) #复制文件
    shutil.copystat(src,dst) #拷贝文件,连同文件的stat一起拷贝
    shutil.copytree(src,dst) #拷贝目录,拷贝之前dst必须不存在

    2.os.path模块


    os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
    os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
    os.path.exists(name):判断是否存在文件或目录name
    os.path.abspath(name):获得绝对路径
    os.path.normpath(path):规范path字符串形式
    os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
    os.path.splitext():分离文件名与扩展名
    os.path.join(path,name):连接目录与文件名或目录
    os.path.basename(path):返回文件名
    os.path.dirname(path):返回文件路径

    os.path.getsize(name):获得文件大小(字节大小)如果name是目录返回0L
    os.path.getctime(path) 返回浮点数的系统时间,在类Unix系统上是文件最近更改的时间, 在Windows上是文件或目录的创建时间
    os.path.getmtime(path) 文件或目录最后更改的时间
    os.path.getatime(path) 文件或目录最后存取的时间
    os.path.samefile(path1,path2) 如果2个路径指向同样的文件或目录,返回True(Windows上不可用)

    os.path.commonprefix(list)

    返回list中,所有path共有的最长的路径。
    如:
    >>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff'])
    '/home/td'

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

    glob模块
    glob.glob(“*.py”) #返回当前目录下所有以.py为后缀的目录或文件,glob(“*.py”) 里面可用正则去匹配,返回一个LIST列表.

     

    参考:http://blog.163.com/zhulp0372@yeah/blog/static/115894479201161143549833/

    http://blog.sina.com.cn/s/blog_567e63d00100rb10.html

  • 相关阅读:
    面向对象、面向接口、面向方法编程的区别?
    面向接口、对象、方面编程区别 -- 精简版
    面向接口编程详解(一)——思想基础
    吴裕雄--天生自然数据结构:静态链表及其创建
    吴裕雄--天生自然数据结构:单链表的基本操作
    吴裕雄--天生自然数据结构:单链表,链式存储结构
    吴裕雄--天生自然数据结构:顺序表的基本操作
    吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)
    吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(1)
    吴裕雄--天生自然Numpy库学习笔记:NumPy Matplotlib
  • 原文地址:https://www.cnblogs.com/Xjng/p/3874936.html
Copyright © 2020-2023  润新知