Python 如何测试文件是否存在


Posted in Python onJuly 31, 2020

问题

你想测试一个文件或目录是否存在。

解决方案

使用 os.path 模块来测试一个文件或目录是否存在。比如:

>>> import os
>>> os.path.exists('/etc/passwd')
True
>>> os.path.exists('/tmp/spam')
False
>>>

你还能进一步测试这个文件时什么类型的。 在下面这些测试中,如果测试的文件不存在的时候,结果都会返回False:

>>> # Is a regular file
>>> os.path.isfile('/etc/passwd')
True

>>> # Is a directory
>>> os.path.isdir('/etc/passwd')
False

>>> # Is a symbolic link
>>> os.path.islink('/usr/local/bin/python3')
True

>>> # Get the file linked to
>>> os.path.realpath('/usr/local/bin/python3')
'/usr/local/bin/python3.3'
>>>

如果你还想获取元数据(比如文件大小或者是修改日期),也可以使用 os.path 模块来解决:

>>> os.path.getsize('/etc/passwd')
3669
>>> os.path.getmtime('/etc/passwd')
1272478234.0
>>> import time
>>> time.ctime(os.path.getmtime('/etc/passwd'))
'Wed Apr 28 13:10:34 2010'
>>>

讨论

使用 os.path 来进行文件测试是很简单的。 在写这些脚本时,可能唯一需要注意的就是你需要考虑文件权限的问题,特别是在获取元数据时候。比如:

>>> os.path.getsize('/Users/guido/Desktop/foo.txt')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.3/genericpath.py", line 49, in getsize
    return os.stat(filename).st_size
PermissionError: [Errno 13] Permission denied: '/Users/guido/Desktop/foo.txt'
>>>

以上就是Python 如何测试文件是否存在的详细内容,更多关于Python 测试文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
wxPython 入门教程
Oct 07 Python
Python中使用logging模块打印log日志详解
Apr 05 Python
Python 内置函数complex详解
Oct 23 Python
Django model序列化为json的方法示例
Oct 16 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python自动化测试之如何解析excel文件
Jun 27 Python
python实现爬取百度图片的方法示例
Jul 06 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
Python requests模块session代码实例
Apr 14 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
Python高并发解决方案实现过程详解
Jul 31 #Python
Python如何执行精确的浮点数运算
Jul 31 #Python
Python使用shutil模块实现文件拷贝
Jul 31 #Python
Python基于pyjnius库实现访问java类
Jul 31 #Python
Python如何将字符串转换为日期
Jul 31 #Python
Python在字符串中处理html和xml的方法
Jul 31 #Python
python中selenium库的基本使用详解
Jul 31 #Python
You might like
用PHP查询域名状态whois的类
2006/11/25 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
javascript常用功能汇总
2015/07/05 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
优秀求职自荐信怎样写
2013/12/18 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
秋季运动会活动方案
2014/02/05 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
志愿者个人总结
2015/03/03 职场文书
辩护词范文大全
2015/05/21 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏