Python 如何测试文件是否存在

 更新时间:2020-08-01 06:25:11   作者:佚名   我要评论(0)

问题
你想测试一个文件或目录是否存在。
解决方案
使用 os.path 模块来测试一个文件或目录是否存在。比如:


>>> import os
>>> os.path.exists('/etc/passwd')
Tr

问题

你想测试一个文件或目录是否存在。

解决方案

使用 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写测试数据文件过程解析
  • Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
  • python自动化测试之如何解析excel文件
  • Python Django框架单元测试之文件上传测试示例
  • Python实现的逻辑回归算法示例【附测试csv文件下载】
  • Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
  • Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
  • Python实现的本地文件搜索功能示例【测试可用】
  • Python实现的将文件每一列写入列表功能示例【测试可用】
  • Python自动化测试ConfigParser模块读写配置文件

相关文章

  • Python 如何测试文件是否存在

    Python 如何测试文件是否存在

    问题 你想测试一个文件或目录是否存在。 解决方案 使用 os.path 模块来测试一个文件或目录是否存在。比如: >>> import os >>> os.path.exists('/etc/passwd') Tr
    2020-08-01
  • Django+Uwsgi+Nginx如何实现生产环境部署

    Django+Uwsgi+Nginx如何实现生产环境部署

    如何在生产上部署Django&#63; Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。 uwsgi介绍 uWSGI是一个Web服务器,它实现了WSG
    2020-08-01
  • Java日志框架之logback使用详解

    Java日志框架之logback使用详解

    为什么使用logback 记得前几年工作的时候,公司使用的日志框架还是log4j,大约从16年中到现在,不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架
    2020-08-01
  • Python打印不合法的文件名

    Python打印不合法的文件名

    问题 你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃, 出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates not all
    2020-08-01
  • vue 组件简介

    vue 组件简介

    什么是组件? web的组件其实就是页面组成的一部分,好比是电脑中的每一个元件(如硬盘、键盘、鼠标),它是一个具有独立的逻辑和功能或界面,同时又能根据规定的接口
    2020-08-01
  • Python3爬虫mitmproxy的安装步骤

    Python3爬虫mitmproxy的安装步骤

    mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler、Charles的功能,只不过它通过控制台的形式操作。 此外,mitmproxy还有两个关联组件,一个是mitmdump,它是
    2020-07-29
  • 详解JavaScript作用域 闭包

    详解JavaScript作用域 闭包

    JavaScript闭包,是JS开发工程师必须深入了解的知识。3月份自己曾撰写博客《JavaScript闭包》,博客中只是简单阐述了闭包的工作过程和列举了几个示例,并没有去刨根
    2020-07-29
  • VUE实时监听元素距离顶部高度的操作

    VUE实时监听元素距离顶部高度的操作

    效果图如下所示 .html <!-- 监听ref距离顶部高度 --> <div ref="pronbit"> <div>今日热门</div> <div>今日热销</div> </div> .js mounted(){ window.addEv
    2020-07-29
  • vue监听dom大小改变案例

    vue监听dom大小改变案例

    需求描述:layout左边菜单栏收缩,右边的content区域的swiper宽度没有改变(没有图,朋友的问题,大体画一下) 类似于点击折叠左边目录会变小,右边内容区域会变大
    2020-07-29
  • 关于Python3爬虫利器Appium的安装步骤

    关于Python3爬虫利器Appium的安装步骤

    Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android、iOS等设备完成自动化测试,比如模拟点击、滑动、输入等操作,其官方网站为:h
    2020-07-29

最新评论