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文件比较示例分享
Jan 10 Python
python如何通过protobuf实现rpc
Mar 06 Python
python2.7实现爬虫网页数据
May 25 Python
python实现雨滴下落到地面效果
Jun 21 Python
Python用61行代码实现图片像素化的示例代码
Dec 10 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
Python除法之传统除法、Floor除法及真除法实例详解
May 23 Python
pandas DataFrame索引行列的实现
Jun 04 Python
Django MEDIA的配置及用法详解
Jul 25 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 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
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
vue.js评论发布信息可插入QQ表情功能
2017/08/08 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python的Django框架使用入门指引
2015/04/15 Python
python实现各进制转换的总结大全
2017/06/18 Python
深入理解Django中内置的用户认证
2017/10/06 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
python3安装crypto出错及解决方法
2019/07/30 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
人事任命通知书
2015/04/21 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书