python_如何获取文件状态
案例:
在某项目中,需要获取文件状态,如:
- 文件的类型(普通文件、目录、符合连接、设备文件)
- 文件的访问权限
- 文件最后 访问、修改、节点状态 时间
- 普通文件大小
- ……
如何解决?
方法1:通过os原始接口,stat() , lstat(),fstat()
stat() 文件所有属性
lstat() 不查看链接文件类型
fstat() 传入参数为文件描叙符
#!/usr/bin/python3 import os
import stat s = os.stat('python.PNG')
print(s)
print(bin(s.st_mode)) # 判断文件是否为目录
print(stat.S_ISDIR(s.st_mode)) # 判断文件是否是普通文件
print(stat.S_ISREG(s.st_mode)) # 判断文件权限
# 可读,user,大于0为真
print(s.st_mode & stat.S_IRUSR) # 可执行,user
print(s.st_mode & stat.S_IXGRP) # 获取文件 访问、修改、节点状态 时间
import time print(time.localtime(s.st_atime))
print(time.localtime(s.st_ctime))
print(time.localtime(s.st_mtime)) # 获取文件大小
print(s.st_size)
方法2:os.path下的方法,更简洁
#!/usr/bin/python3 # os.path方法
import os # 判断文件是否为目录
print(os.path.isdir('python.PNG')) # 判断文件是否是普通文件
print(os.path.isfile('python.PNG')) # 获取文件 访问、修改、节点状态 时间
import time print(time.localtime(os.path.getatime('python.PNG')) )
print(time.localtime(os.path.getmtime('python.PNG')) )
print(time.localtime(os.path.getctime('python.PNG')) ) # 获取文件大小
print(os.path.getsize('python.PNG'))
python_如何获取文件状态的更多相关文章
- fcntl 获取文件状态标志
int fcntl(int fd,int cmd,...) 函数fcntl提供了非常丰富的功能.主要依赖于cmd的各种参数: 复制已有的文件描述符 F_DUPFD,F_DUPFD_CLOEXEC 获取 ...
- C语言stat()函数:获取文件状态
相关函数:fstat, lstat, chmod, chown, readlink, utime 头文件:#include<sys/stat.h> #include<uninstd ...
- LINUX获取文件信息
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- Python-获取文件状态模块-os stat lastat fstat path
案例: 在某项目中,需要获取文件状态,如: 文件的类型(普通文件.目录.符合连接.设备文件) 文件的访问权限 文件最后 访问.修改.节点状态 时间 普通文件大小 -- 如何解决? 方法1:通过os原始 ...
- 安装sudo apt-get install ros-kinetic-desktop-full,报错mv: 无法获取'/var/lib/ni/licenses.xml.dpkg-old' 的文件状态(stat): 没有。。。。
安装sudo apt-get install ros-kinetic-desktop-full,报了一堆错误 mv: 无法获取'/var/lib/ni/licenses.xml.dpkg-old' 的 ...
- C#开发BIMFACE系列8 服务端API之获取文件上传状态信息
系列目录 [已更新最新开发文章,点击查看详细] 在BIMFACE控制台上传文件,上传过程及结束后它会自动告诉你文件的上传状态,目前有三种状态:uploading,success,failure ...
- linux编程fcntl获取和设置文件状态
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> ...
- Android 通过广播获取网络状态
Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验. 本文仅提供WIFI 状态的检测作为参考,其他网络连接方式请 ...
- 【转】linux C++ 获取文件信息 stat函数详解
stat函数讲解 表头文件: #include <sys/stat.h> #include <unistd.h>定义函数: int stat ...
随机推荐
- BCB F12切换界面 显示异常
亲们,我偶遇了一个小怪兽F12切换界面,效果如下: 还没有解决办法:
- TabHost用法
tabhost用两种方法 方法一:Activity继承TabActivity后用getTabHost()方法来获取tabhost(前提:Activity的setContentView要删除,这样布局才 ...
- Mixin Network Whitepaper
[译] Mixin Network(网络) 看到了李笑来老师牵头的 Mixin, 也仔细查看了 Mixin 白皮书 ,决定翻译过来 构造一个最大的,并且对开发者友好的移动区块链网络,连接现有的所有区块 ...
- ubuntu使用rdesktop连接win10的两个问题
关闭防火墙,解决主机ping不通虚拟机的问题 win10需要修改注册表 \HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStatio ...
- 【Zookeeper】Zookeeper安装配置
本文演示使用三台Linux服务器安装Zookeeper,使用的是zookeeper-3.4.5版本,将zookeeper-3.4.5.tar.gz上传到linux服务器, 使用如下命令解压到/usr/ ...
- 基于input子系统的sensor驱动调试(一)
要想弄明白世界的本质,就要追根溯源:代码也是一样的道理: 最近调试几个sensor驱动,alps sensor驱动.compass sensor驱动.G-sensor驱动都是一样的架构: 一.基于in ...
- vivi虚拟摄像头驱动程序
一.vivi虚拟摄像头驱动 基于V4L2(video for linux 2)摄像头驱动程序,我们减去不需要的ioctl_fops的函数,只增加ioctl函数增加的必要的摄像头流查询等函数: #inc ...
- BZOJ2744: [HEOI2012]朋友圈
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2744 最大团是一个np问题.. 对于本题,做它的逆问题,建反图做最大独立集. 对于A最多取出两 ...
- HDU-5421Victor and String
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5421 因为要在前面插字符,所以维护一个前缀链和后缀链,在同一棵回文树上搞,如果有某个最长回文后缀(或前缀) ...
- Redis进阶实践之四Redis的基本数据类型
一.引言 今天正式开始了Redis的学习,如果要想学好Redis,必须先学好Redis的数据类型.Redis为什么会比以前的Memchaed等内存缓存软件使用的更频繁,适用范围更广呢?就是因为R ...