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 01 Python
python编程开发之日期操作实例分析
Nov 13 Python
python3操作mysql数据库的方法
Jun 23 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
Django如何自定义分页
Sep 25 Python
Python内置random模块生成随机数的方法
May 31 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
python 图片去噪的方法示例
Jul 09 Python
django中间键重定向实例方法
Nov 10 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
Feb 20 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
基于flask实现五子棋小游戏
May 25 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
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
python os.fork() 循环输出方法
2019/08/08 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
python3实现弹弹球小游戏
2019/11/25 Python
Python实现疫情地图可视化
2021/02/05 Python
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
护理自荐信范文
2013/10/05 职场文书
促销活动总结范文
2014/04/30 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
服务标语大全
2014/06/18 职场文书
小学生植树节活动总结
2014/07/04 职场文书
离职感谢信
2015/01/21 职场文书
2015入党个人自传范文
2015/06/26 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
实习报告怎么写
2019/06/20 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python