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 相关文章推荐
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
Python实现比较两个列表(list)范围
Jun 12 Python
详解django中自定义标签和过滤器
Jul 03 Python
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
Django中Model的使用方法教程
Mar 07 Python
tensorflow如何批量读取图片
Aug 29 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Django-migrate报错问题解决方案
Apr 21 Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 Python
Python torch.flatten()函数案例详解
Aug 30 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 cookie名使用点号(句号)会被转换
2014/10/23 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
jQuery操作css样式
2017/05/15 jQuery
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
Python中实现的RC4算法
2015/02/14 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
python如何读取bin文件并下发串口
2019/07/05 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
Python测试模块doctest使用解析
2019/08/10 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
优质的学校老师推荐信
2013/10/28 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
MySQL多表查询机制
2022/03/17 MySQL