Python 如何测试文件是否存在

 更新时间:2020年07月31日 15:55:32   作者:D  
这篇文章主要介绍了Python 如何测试文件是否存在,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

问题

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

解决方案

使用 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 测试文件的资料请关注脚本之家其它相关文章!

相关文章

  • pandas dataframe drop函数介绍

    pandas dataframe drop函数介绍

    这篇文章主要介绍了pandas dataframe drop函数介绍,文章通围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Python在线编译器Lightly轻松实现贪吃蛇游戏

    Python在线编译器Lightly轻松实现贪吃蛇游戏

    今天我将带领大家使用Python的Pygame库在Lightly在线编译器中实现一个经典的贪吃蛇游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-09-09
  • 解读python正则表达式括号问题

    解读python正则表达式括号问题

    这篇文章主要介绍了python正则表达式括号问题解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • python中map()与zip()操作方法

    python中map()与zip()操作方法

    这篇文章主要介绍了python中map()与zip()操作方法,需要的朋友可以参考下
    2016-02-02
  • 使用pytorch进行图像的顺序读取方法

    使用pytorch进行图像的顺序读取方法

    今天小编就为大家分享一篇使用pytorch进行图像的顺序读取方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Pyecharts绘制全球流向图的示例代码

    Pyecharts绘制全球流向图的示例代码

    这篇文章主要介绍了Pyecharts绘制全球流向图的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python中线程编程之threading模块的使用详解

    Python中线程编程之threading模块的使用详解

    这篇文章主要介绍了Python中线程编程之threading模块的使用详解,由于GIL的存在,线程一直是Python编程中的焦点问题,需要的朋友可以参考下
    2015-06-06
  • python使用双竖线分割的实现

    python使用双竖线分割的实现

    本文主要介绍了python使用双竖线分割的实现,通过接收用户输入的字符串,使用split()方法进行分割,并将结果输出给用户,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • django restframework使用redis实现token认证

    django restframework使用redis实现token认证

    本文主要介绍了django restframework使用redis实现token认证,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • python接口自动化框架实战

    python接口自动化框架实战

    这篇文章主要介绍了python接口自动化框架实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论