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 ljust rjust center输出
Sep 06 Python
python3.0 字典key排序
Dec 24 Python
一张图带我们入门Python基础教程
Feb 05 Python
Python操作mongodb的9个步骤
Jun 04 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
Python求平面内点到直线距离的实现
Jan 19 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
基于python实现上传文件到OSS代码实例
May 09 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
smarty内置函数section的用法
2015/01/22 PHP
PHP生成plist数据的方法
2015/06/16 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
PHP进程通信基础之信号
2017/02/19 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
python3实现高效的端口扫描
2019/08/31 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
python构建指数平滑预测模型示例
2019/11/21 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
高中生期末评语
2014/01/28 职场文书
团委竞选演讲稿
2014/04/24 职场文书
学校欢迎标语
2014/06/18 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
运动会致辞稿
2015/07/29 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫