python学习笔记24(路径与文件 (os.path包, glob包))

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。

>>> import os.path
>>> path = ‘/home/ethon/doc/file.txt‘
>>> os.path.abspath(path)    # 返回path规范化的绝对路径
‘C:\\home\\ethon\\doc\\file.txt‘
>>> os.path.split(path)      # 将path分割成目录和文件名二元组返回
(‘/home/ethon/doc‘, ‘file.txt‘)
>>> os.path.dirname(path)    # 返回path的目录,其实就是os.path.split(path)的第一个元素
‘/home/ethon/doc‘
>>> os.path.basename(path)   # 返回path最后的文件名,如果path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。
‘file.txt‘
>>>
>>> os.path.commonprefix([‘/home/ethon‘,‘/home/ethon/doc‘,‘/home/ethon/doc/ff‘])  # 返回list中,所有path共有的最长的路径
‘/home/ethon

os.path还可以查询文件的相关信息(metadata)

import os.path
path = ‘/home/ethon/doc/file.txt‘

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

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

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

glob包

‘‘‘
在python中,glob模块是用来查找匹配的文件的
在查找的条件中,需要用到Unix shell中的匹配规则:

*    :   匹配所所有
?    :   匹配一个字符
*.*  :   匹配如:[hello.txt,cat.xls,xxx234s.doc]
?.*  :   匹配如:[1.txt,h.py]
?.gif:   匹配如:[x.gif,2.gif]
如果没有匹配的,glob.glob(path)将返回一个空的list:[]
‘‘‘

demo

>>> import glob
>>> glob.glob(‘c:\\pict\\*.*‘)
[‘c:\\pict\\Model.txt‘, ‘c:\\pict\\output.txt‘, ‘c:\\pict\\output.xls‘, ‘c:\\pict\\pict.exe‘, ‘c:\\pict\\PICTHelp.htm‘]
时间: 2024-10-09 23:47:57

python学习笔记24(路径与文件 (os.path包, glob包))的相关文章

Python标准库03 路径与文件 (os.path包, glob包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 路径与文件的简介请参看Linux文件系统 os.path包 os.path包主要是处理路径字符串,比如说'/home/vamei/doc/file.txt',提取出有用信息. import os.path path = '/home/vamei/doc/file.txt' print(os.path.basename(path)) # 查询路径中包含的文件名 print(os.p

python中由于中文路径引起的os.path.isfile(imgpath) == False问题

昨天在用python脚本处理文件的时候,遇到了题述问题,明明文件时存在的,但是在用os.path.isfile(imgpath) == False进行判断的时候总是成立,在一开始以为是正反斜杠windows与linux不同导致的,后来发现时因为中文路径造成的. 在网上查阅了解决办法如下: imgpath = unicode(imgpath, "utf8") 利用上述语句将imgpath的编码进行转换,然后再进行判断以及后续的图片读取(使用cv2模块)就都没有问题了.

python 学习笔记day02-python循环、文件、函数、模块

循环语句 while 循环 while 循环语法结构 当需要语句不断的重复执行时,可以使用 while 循环 while expression: while_sutie 语句 while_suite 会被连续不断的循环执行,直到表达式的值变成 0 或 False         #!/usr/bin/env python         # -- coding: utf-8 --         sum100 = 0         counter = 1         while count

Python学习笔记3:简单文件操作

# -*- coding: cp936 -*- # 1 打开文件 # open(fileName, mode) # 參数:fileName文件名称 # mode打开方式 # w     以写方式打开. # a     以追加模式打开 (从 EOF 開始, 必要时创建新文件) # r+     以读写模式打开 # w+     以读写模式打开 # a+     以读写模式打开 # rb     以二进制读模式打开 # wb     以二进制写模式打开 # ab     以二进制追加模式打开 # r

Python学习笔记24:Django搭建简单的博客网站(二)

上一节说道如何使用Django创建并运行一个项目,这节说如何添加一个博客应用. 一 项目跟应用的关系 在添加应用之前,先来看看项目与应用之间有什么不同之处呢? 项目是针对一个特定的 Web 网站相关的配置和其应用的组合.一个项目可以包含多个应用. 应用是一个提供功能的 Web 应用 – 例如:一个博客系统.一个公共记录的数据库或者一个简单的投票系统. 应用是"可插拔的":你可以在多个项目使用一个应用,你还可以分发应用,因为它们没有被捆绑到一个给定的 Django 安装环境中. 这样,我

python学习笔记——(三)文件操作

·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhang list_1 = [1, 4, 5, 7, 3, 6, 7, 9] list_1 = set(list_1) print(list_1, type(list_1)) list_2 = set([2, 6, 0, 66, 22, 8]) print(list_1,list_2) #交集 print

C++学习笔记24:makefile文件

makefile make命令:负责c/c++程序编译与链接 make根据指定命令进行建构 建构规则文件:GNUmakefile , makefile,Makefile makefile 文件格式 makefile 语法 --基本语法,变量,条件判断,循环,函数 makefile 文件的基本格式 target...:prerequisites... [tab键]  commands makefile文件的规则 makefile 文件由一系列规则构成 规则目的:建构目标的先决条件是什么以及如何构建

Python学习笔记14:标准库之信号量(signal包)

signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂停并等待信号,以及定时发出SIGALRM等. 要注意,signal包主要是针对UNIX平台(比如Linux, MAC OS),而Windows内核中由于对信号机制的支持不充分, 所以在Windows上的Python不能发挥信号系统的功能. 定义信号名 signal包定义了各个信号名及其对应的整数,比如 import signal print signal.SIGALRM print signal.SIGCONT

Python学习笔记(二)在线用pip下载第三方包

根据他人的博客,可以发现pip也是可以离线安装已经下载好的包的,具体请参考<pip常用命令>.由于现在还没进展到那个程度,所以本次博客先记录一下我已经学会的东西. 1.pip基本用法 (1)以下载numpy为例,看如何使用pip下载第三方包 只需要打开cmd,然后输入: 1 pip install numpy 如果你的机子现在是联网的,那么就可以下载numpy并且给你安装上. (2)以numpy为例,看如何使用pip卸载第三方包 一样是打开cmd,然后输入: 1 pip uninstall n