Python标准库os.path包、glob包使用实例

 更新时间:2014年11月25日 15:34:16   投稿:junjie  
这篇文章主要介绍了Python标准库os.path包、glob包使用实例,本文直接给出代码,代码中有详细注释,需要的朋友可以参考下

os.path包

os.path包主要用于处理字符串路径,比如'/home/zikong/doc/file.doc',提取出有用的信息。

复制代码 代码如下:

import os.path
path = '/home/zikong/doc/file.doc'

print(os.path.basename(path))    # 查询路径中包含的文件名
print(os.path.dirname(path))     # 查询路径中包含的目录

info = os.path.split(path)       # 将路径分割成文件名和目录两个部分,放在一个表中返回
path2 = os.path.join('\', 'home', 'zikong', 'doc', 'file.doc')  #使用目录名和文件名构成一个路径字符串

p_list = [path, path2]
print(os.path.commonprefix(p_list))    # 查询多个路径的共同部分

os.path.normpath(path) # 去除路径path中的冗余。比如'/home/vamei/../.'被转化为'/home'
#os.path还可以查询文件的相关信息(metadata)。文件的相关信息不存储在文件内部,而是由操作系统
#维护的,关于文件的一些信息(比如文件类型,大小,修改时间)。

import os.path
path = '/home/vamei/doc/file.txt'

print(os.path.exists(path))    # 查询文件是否存在

print(os.path.getsize(path))   # 查询文件大小
print(os.path.getatime(path))  # 查询文件上一次读取的时间
print(os.path.getmtime(path))  # 查询文件上一次修改的时间

print(os.path.isfile(path))    # 路径是否指向常规文件
print(os.path.isdir(path))     # 路径是否指向目录文件

glob包

glob是python自己带的一个文件操作相关模块,内容也不多,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,而且也 支持通配符,,?,[]这三个通配符,代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。

glob方法: 返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),比如:

复制代码 代码如下:

import glob
glob.glob("/home/zikong/doc/*.doc")
/home/zikong/doc/file1.doc /home/zikong/doc/file2.doc

例子

综合利用两个包写的一个类似于linux下的ls函数:

复制代码 代码如下:

#coding = utf8
import glob
import os.path
path = '/Users/zikong/Pictures'
def ls(path):
        #codinf = utf8
        print "--name--   --type--  --size--  --atime--  --mtime-- "
        path = path + '/*'
        filelist = glob.glob(path)
        for filepath in filelist:
                out = '%s  %s  %s  %s  %s'%(filepath.split('/')[4] ,os.path.isfile(filepath) ,os.path.getsize(filepath) ,os.path.getatime(filepath) ,os.path.getmtime(filepath))
                print out

ls(path)

注意

复制代码 代码如下:

#coding=utf

是为了让python能够显示中文

相关文章

  • 基于PyTorch实现EdgeCNN的实战教程

    基于PyTorch实现EdgeCNN的实战教程

    本文我们将使用PyTorch来简易实现一个EdgeCNN,不使用PyG库,让新手可以理解如何PyTorch来搭建一个简易的图网络实例demo,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • 使用Python实现跳一跳自动跳跃功能

    使用Python实现跳一跳自动跳跃功能

    这篇文章主要介绍了使用Python实现跳一跳自动跳跃功能,本文图文并茂通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 浅谈Tensorflow加载Vgg预训练模型的几个注意事项

    浅谈Tensorflow加载Vgg预训练模型的几个注意事项

    这篇文章主要介绍了浅谈Tensorflow加载Vgg预训练模型的几个注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • BatchNorm2d原理、作用及pytorch中BatchNorm2d函数的参数使用

    BatchNorm2d原理、作用及pytorch中BatchNorm2d函数的参数使用

    这篇文章主要介绍了BatchNorm2d原理、作用及pytorch中BatchNorm2d函数的参数使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 详解Django自定义图片和文件上传路径(upload_to)的2种方式

    详解Django自定义图片和文件上传路径(upload_to)的2种方式

    这篇文章主要介绍了详解Django自定义图片和文件上传路径(upload_to)的2种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python 教程实现 turtle海龟绘图

    python 教程实现 turtle海龟绘图

    这篇文章主要介绍了python 教程实现 turtle绘制海龟绘图,文章基于python的相关资料展开turtle绘制海龟绘图的详细内容,需要的小伙伴可以参考一下
    2022-05-05
  • Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例

    Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例

    这篇文章主要介绍了Python 数据结构与算法 从任意长度的可迭代象中分解元素操作,结合实例形式分析了Python使用*表达式针对可迭代对象的分解操作相关实现技巧,需要的朋友可以参考下
    2018-02-02
  • python密码学黑客攻击RSA密码

    python密码学黑客攻击RSA密码

    这篇文章主要为大家介绍了python密码学黑客攻击RSA密码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python 操作sqlite数据库的方法

    python 操作sqlite数据库的方法

    sqlite的官网 sqlite.org/index.html SQLite 作为一个SQL数据库引擎,是由C语言实现的,又小又快,具有高可靠性且功能齐全。 作为嵌入式数据库,在移动设备中使用非常广泛且方便。本文讲解如何使用python操作sqlite数据库
    2021-06-06
  • python自动化测试selenium定位frame及iframe示例

    python自动化测试selenium定位frame及iframe示例

    这篇文章主要为大家介绍了python自动化测试selenium定位frame及iframe示例的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11

最新评论