• 5.python的路径相关操作——《深入python3》学习


    下面的内容是python中对于文件路径的一些操作,还包含文件元数据的提取:

    #-*-coding:UTF-8-*-
    #文件操作
    import os
    
    print os.getcwd()        #返回当前的工作路径
    
    os.chdir('C:/Users/Administrator/Desktop')    #更改路径到,不要用‘\’,容易引起转义,中文有兼容性问题
    print os.getcwd()
    
    import os.path
    print (os.path.join('C:/Users/Administrator/Desktop','书籍'))    #join()函数可以从一个或者是多个路径中拼接一个字符串
    
    print os.path.split('C:/Users/Administrator/Desktop')    #分隔文件路径,用于提取文件名返回一个元组(a,b)a为文件夹,b为文件夹或者文件名
    
    print os.path.splitext("abc.txt")  #用来分隔文件名和文件后缀名,得到结果为('abc','.txt')
    
    #罗列目录内容,用到了一个新的标准库glob
    
    import  glob
    os.chdir('C:/Users/Administrator/Desktop')
    print glob.glob('*.pdf')                            #返回当前目录下的*.pdf所匹配的文件和文件夹
    
    #获取文件元信息,现在每个文件都有一些元信息被文件系统保存着,像什么创建时间,最后修改时间,文件大小等等
    
    os.chdir('C:/Users/Administrator/Desktop')
    metadata=os.stat("a.jpg")                   #返回了一个元信息对象
    print metadata
    print metadata.st_mtime                     #st_mtime代表的是最后的修改时间,返回的是一个从1970年1月1日到现在的秒数,要转换
    
    import time
    print time.localtime(metadata.st_mtime)     #根据从纪元到现在的秒数返回一个包含年、月、日、小时、分钟、秒的结构体
    
    print metadata.st_size                      #返回文件的大小,单位为字节数
    
    #构造绝对路径
    
    print os.getcwd()
    
    print os.path.realpath('a.jpg')             #选取当前目录下的一个文件,返回这个文件的绝对路径

    结果:

    C:\Users\Administrator\Desktop
    C:/Users/Administrator/Desktop\书籍
    ('C:/Users/Administrator', 'Desktop')
    ('abc', '.txt')
    []
    nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=76128L, st_atime=1333074392L, st_mtime=1333074370L, st_ctime=1333074392L)
    1333074370.2
    time.struct_time(tm_year=2012, tm_mon=3, tm_mday=30, tm_hour=10, tm_min=26, tm_sec=10, tm_wday=4, tm_yday=90, tm_isdst=0)
    76128
    C:\Users\Administrator\Desktop
    C:\Users\Administrator\Desktop\a.jpg

  • 相关阅读:
    八数码难题 (codevs 1225)题解
    小木棍 (codevs 3498)题解
    sliding windows (poj 2823) 题解
    集合删数 (vijos 1545) 题解
    合并果子 (codevs 1063) 题解
    等价表达式 (codevs 1107)题解
    生理周期 (poj 1006) 题解
    区间 (vijos 1439) 题解
    区间覆盖问题 题解
    种树 (codevs 1653) 题解
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4145139.html
Copyright © 2020-2023  润新知