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 相关文章推荐
利用打码兔和超人打码自封装的打码类分享
Mar 16 Python
python计算一个序列的平均值的方法
Jul 11 Python
python 查找字符串是否存在实例详解
Jan 20 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 Python
python基于opencv检测程序运行效率
Dec 28 Python
推荐8款常用的Python GUI图形界面开发框架
Feb 23 Python
django models里数据表插入数据id自增操作
Jul 15 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
Dec 05 Python
pandas取dataframe特定行列的实现方法
May 24 Python
Python绘画好看的星空图
Mar 17 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-pcntl 实现多进程代码
2016/09/30 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
Python重新加载模块的实现方法
2018/10/16 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
为什么要有struct关键字
2012/05/08 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
高一英语教学反思
2014/01/22 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
夜不归宿检讨书
2014/02/25 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
北京英文导游词
2015/02/12 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
三八妇女节主持词
2015/07/04 职场文书
小学大队长竞选稿
2015/11/20 职场文书
检讨书之工作不认真
2019/08/14 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书