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训练数据时打乱训练数据与标签的两种方法小结
Nov 08 Python
Python设计模式之代理模式实例详解
Jan 19 Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
Django学习之文件上传与下载
Oct 06 Python
Python调用.NET库的方法步骤
Dec 27 Python
Python更新所有已安装包的操作
Feb 13 Python
Python递归实现打印多重列表代码
Feb 27 Python
Python基于Serializer实现字段验证及序列化
Nov 04 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
Jan 27 Python
python 模块导入问题汇总
Feb 01 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 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
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
php中curl使用指南
2015/02/05 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
微信小程序签到功能
2018/10/31 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Python中zfill()方法的使用教程
2015/05/20 Python
Python之re操作方法(详解)
2017/06/14 Python
Python中is和==的区别详解
2018/11/15 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
对Python函数设计规范详解
2019/07/19 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
《自选商场》教学反思
2014/02/14 职场文书
《月迹》教学反思
2014/02/19 职场文书
材料员岗位职责
2014/03/13 职场文书
房产委托公证书样本
2014/04/04 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
贷款承诺书
2015/01/20 职场文书
正规欠条模板
2015/07/03 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技