zoukankan      html  css  js  c++  java
  • python开发_stat

    当我们使用os.stat(path)获取一个文件(夹)信息的时候,
    os.stat(path)本身返回的是一个元组如:

         nt.stat_result(st_mode=33206, st_ino=203224933185146561, st_dev=0,
         st_nlink=1, st_uid=0, st_gid=0, st_size=21090, st_atime=1376373336,
         st_mtime=1376534141, st_ctime=1376373336)

    在这个元组中,包含了10个属性:
        st_mode -- protection bits(模式)
        st_ino -- inode number(索引号)
        st_dev -- device(设备)
        st_nlink -- number of hard links(硬链接号)
        st_uid -- user id of owner(用户id)
        st_gid -- group id of owner (组id)
        st_size -- size of file,in bytes (大小)
        st_atime -- time of most recent access expressed in seconds (访问时间)
        st_mtime -- time of most recent content modificatin expressed in seconds (修改时间)
        st_ctime -- platform dependent;time of most recent metadata change on Unix,
                         or the teime of creation on Windows,expressed in senconds (根据不同操作系统而定)

    #############################################################
        而stat在这里起到什么作用呢?
        类似于java中定义的一些常量:
    如:
        os.stat(path).st_size
        os.stat(path)[stat.ST_SIZE]
    这两种表示方法是一样的。

    下面是我做的demo:

    运行效果:

    ==============================================

    代码部分:

    ==============================================

     1 #python stat
     2 '''
     3     当我们使用os.stat(path)获取一个文件(夹)信息的时候,
     4     os.stat(path)本身返回的是一个元组如:
     5     
     6     nt.stat_result(st_mode=33206, st_ino=203224933185146561, st_dev=0,
     7     st_nlink=1, st_uid=0, st_gid=0, st_size=21090, st_atime=1376373336,
     8     st_mtime=1376534141, st_ctime=1376373336)
     9 
    10     在这个元组中,包含了10个属性:
    11     st_mode    -- protection bits(模式)
    12     st_ino     -- inode number(索引号)
    13     st_dev     -- device(设备)
    14     st_nlink   -- number of hard links(硬链接号)
    15     st_uid     -- user id of owner(用户id)
    16     st_gid     -- group id of owner (组id)
    17     st_size    -- size of file,in bytes (大小)
    18     st_atime   -- time of most recent access expressed in seconds (访问时间)
    19     st_mtime   -- time of most recent content modificatin expressed in seconds (修改时间)
    20     st_ctime   -- platform dependent;time of most recent metadata change on Unix,
    21                   or the teime of creation on Windows,expressed in senconds (根据不同操作系统而定)
    22 
    23     #############################################################
    24     而stat在这里起到什么作用呢?
    25     类似于java中定义的一些常量:
    26     如:
    27         os.stat(path).st_size
    28         os.stat(path)[stat.ST_SIZE]
    29         这两种表示方法是一样的。
    30 '''
    31 import os
    32 import time
    33 import stat
    34 
    35 def get_file_stat(path):
    36     '''获取一个文件(夹)信息,该信息将以一个元组的形式返回'''
    37     if os.path.exists(path):
    38         return os.stat(path)
    39     else:
    40         print('the path [{}] is not exist!'.format(path))
    41 
    42 def print_info(file_stat):
    43     '''打印信息'''
    44     if file_stat != None:
    45         file_info = {
    46             'Size' : file_stat [ stat.ST_SIZE ],                         #获取文件大小
    47             'LastModified' : time.ctime( file_stat [ stat.ST_MTIME ] ),  #获取文件最后修改时间
    48             'LastAccessed' : time.ctime( file_stat [ stat.ST_ATIME ] ),  #获取文件最后访问时间
    49             'CreationTime' : time.ctime( file_stat [ stat.ST_CTIME ] ),  #获取文件创建时间
    50             'Mode' : file_stat [ stat.ST_MODE ],                         #获取文件的模式
    51             'Device' : file_stat [stat.ST_DEV],                          #设备
    52             'UserID' : file_stat [stat.ST_UID],
    53             'GroupID' : file_stat [stat.ST_GID]
    54             }
    55         for key in file_info:
    56             print('{} : {}'.format(key, file_info[key]))
    57     else:
    58         print('the stat is None!')
    59 
    60 def main():
    61     path_dir = 'c:\Download'
    62     path_file = 'c:\test.html'
    63     print('目录信息:')
    64     file_stat = get_file_stat(path_dir)
    65     print_info(file_stat)
    66     print('#' * 50)
    67     print('文件信息:')
    68     file_stat = get_file_stat(path_file)
    69     print_info(file_stat)
    70 
    71 if __name__ == '__main__':
    72     main()
    73     
  • 相关阅读:
    js 创建Table,每行3列的方式
    多线程 笔记
    WCF binding
    table 变量
    Excel数据使用sql语句导入sqlserver (64位)
    sqlserver链接服务器到Mysql
    easyui datagrid 返回数据正确 fit='true' 时不显示内容
    js设置文本框只读属性的小bug
    windows64位下的redis及memcached的安装和使用
    spring.Net (Mvc)属性依赖注入------实例化对象
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_python_stat.html
Copyright © 2011-2022 走看看