Python中可以用三种方法判断文件是否存在

这篇具有很好参考价值的文章主要介绍了Python中可以用三种方法判断文件是否存在。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

python判断文件是否存在,python基础,python,java,服务器,pycharm,学习,开发语言

通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。

所以最好在做任何操作之前,先判断文件是否存在。

这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。

1.使用os模块

os模块中的os.path.exists()方法用于检验文件是否存在。

判断文件是否存在

import os
os.path.exists(test_file.txt)
#True

os.path.exists(no_exist_file.txt)
#False

完整源码、教程 点击此处跳转文末名片获取 ,我都放在这里了。

判断文件夹是否存在

import os
os.path.exists(test_dir)
#True

os.path.exists(no_exist_dir)
#False

以看出用os.path.exists()方法,判断文件和文件夹是一样。

其实这种方法还是有个问题,假设你想检查文件“test_data”是否存在,但是当前路径下有个叫“test_data”的文件夹,这样就可能出现误判。

为了避免这样的情况,可以这样:

只检查文件

import os
os.path.isfile("test-data")

通过这个方法,如果文件”test-data”不存在将返回False,反之返回True。

即是文件存在,你可能还需要判断文件是否可进行读写操作。

判断文件是否可做读写操作

使用os.access()方法判断文件是否可进行读写操作。

语法:

os.access(path, mode)

path为文件路径,mode为操作模式,有这么几种:

  1. os.F_OK: 检查文件是否存在;

  2. os.R_OK: 检查文件是否可读;

  3. os.W_OK: 检查文件是否可以写入;

  4. os.X_OK: 检查文件是否可以执行

该方法通过判断文件路径是否存在和各种访问模式的权限返回True或者False。

import os
if os.access("/file/path/foo.txt", os.F_OK):
    print ("Given file path is exist.")

if os.access("/file/path/foo.txt", os.R_OK):
    print ("File is accessible to read")

if os.access("/file/path/foo.txt", os.W_OK):
    print ("File is accessible to write")

if os.access("/file/path/foo.txt", os.X_OK):
    print ("File is accessible to execute")

2.使用Try语句

可以在程序中直接使用open()方法来检查文件是否存在和可读写。

语法:

open()

如果你open的文件不存在,程序会抛出错误,使用try语句来捕获这个错误。

程序无法访问文件,可能有很多原因:

  • 如果你open的文件不存在,将抛出一个FileNotFoundError的异常;

  • 文件存在,但是没有权限访问,会抛出一个PersmissionError的异常。

所以可以使用下面的代码来判断文件是否存在:

try:
    f =open()
    f.close()
except FileNotFoundError:
    print ("File is not found.")
except PermissionError:
    print ("You don't have permission to access this file.")

其实没有必要去这么细致的处理每个异常,上面的这两个异常都是IOError的子类。

所以可以将程序简化一下:

'''
学习中遇到问题没人解答?可以加小编V:qian97378
还可获取不错的python视频学习教程和PDF电子书!
'''
try:
    f =open()
    f.close()
except IOError:
    print ("File is not accessible.")

使用try语句进行判断,处理所有异常非常简单和优雅的。

而且相比其他不需要引入其他外部模块。

3. 使用pathlib模块

pathlib模块在Python3版本中是内建模块,但是在Python2中是需要单独安装三方模块。

使用pathlib需要先使用文件路径来创建path对象。

此路径可以是文件名或目录路径。

检查路径是否存在

path = pathlib.Path("path/file")
path.exist()

检查路径是否是文件

path = pathlib.Path("path/file")
path.is_file()

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

python判断文件是否存在,python基础,python,java,服务器,pycharm,学习,开发语言

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇文章来源地址https://www.toymoban.com/news/detail-787199.html

到了这里,关于Python中可以用三种方法判断文件是否存在的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 判断列表里是否有重复元素的三种方法

    一、用 set 方法去重后与原列表长度比较 二、用 append 的方式把原列表中的元素添加到一个新列表,确保新列表里不存在重复的元素,然后比较两个列表 三、用 fromkeys 的方法创建一个字典,因为字典的键会自动去重,所以可以比较字典和原列表的长度,跟方法一很像

    2024年02月11日
    浏览(57)
  • 【Linux | Shell 】- 判断文件是否存在、去掉文件后缀

    在Linux编程过程中, 设计到对文件的处理时常常需要判断某个文件是否存在,或者需要获取文件的前缀或文件后缀,这篇文章主要介绍在Linux的Shell编程或者在命令行与Shell交互时,如何判断文件是否存在、如何获取文件后缀,获取文件前缀。 将下面代码保存为 dirExist.sh ,运

    2024年02月08日
    浏览(74)
  • windows11--判断文件夹是否存在

    不想全盘检索,只是想判断当前文件夹下,是否存在名为xxx的子文件夹 打开你要进行搜索的文件夹 点击上面的地址栏,输入cmd,按下回车键,进入cmd 界面 输入 dir /b | find \\\"xxx文件名\\\" (补充:输入 dir /b\\\" 可列出所有子文件的名字) 如果xxx文件存在,则返回xxx 如果xxx文件不存

    2024年01月21日
    浏览(78)
  • Java如何判断某文件目录是否存在

    在java中如何判断某文件所在的目录是否存在,若不存在创建目录 可以通过国使用 File 类的 getParentFile() 方法来获取文件所在的目录,并通过 exists() 方法来判断该目录是否存在,若不存在,通过 mkdirs() 方法创建目录,以下为实例 或直接简写

    2024年02月12日
    浏览(84)
  • golang判断目录是否存在和生成日志文件

    package main import (     \\\"fmt\\\"     \\\"io\\\"     \\\"os\\\"     \\\"time\\\"     \\\"github.com/sirupsen/logrus\\\" ) func main() {     defer func() {         err := recover()         if err != nil {             logrus.Info(err)         }     }()     log_path := \\\"runtime/logs/\\\"     _, err := os.Stat(log_path)     if err != nil {         i

    2024年02月16日
    浏览(59)
  • Python如何判断变量是否存在?

    python中可以使用locals()、dir()、vars()等函数来查询变量是否存在。 1、 locals() 函数将当前位置的所有局部变量作为字典返回。 2、当 dir() 函数不带参数时,它返回当前范围内的变量、方法和定义类型的列表;当它接受参数时,它返回参数的属性和方法列表。 3、vars() 函数返回对

    2024年02月11日
    浏览(63)
  • C++判断文件夹是否存在,不存在则创建(linux和windows)

    Windows需要如下头文件: Linux需要如下头文件: 具体实现过程如下: 如果需要删除则将mkdir替换为rkdir即可

    2024年02月12日
    浏览(80)
  • 【Shell-HDFS】使用Shell脚本判断HDFS文件、目录是否存在

    本文主要讲述如何使用 Shell 脚本判断 HDFS 文件或目录是否存在,算是一个小技巧吧,这几天做 distcp 的时候用到的,因为要判断 HDFS 中是否存在某个目录。 Shell脚本测试: 1、测试路径是否存在。 2、测试目录是否存在。 3、测试文件是否存在。 4、测试路径大小是否大于0。

    2023年04月24日
    浏览(84)
  • 哪些方法可以判断出一个有向图是否有环

    使用 深度优先遍历 ,若从有向图上的某个顶点u出发,在 DFS(u)结束之前出现一条从顶点v到u的边,由于v在生成树上是u的子孙,则图中必定存在包含u和v的环,因此深度优先遍历可以检测一个有向图是否有环。 拓扑排序 时,当某顶点不为任何边的头时才能加入序列,存在环时环中的

    2024年02月12日
    浏览(46)
  • PHP开发日志 ━━ 不同方法判断某个数组中是否存在指定的键名,测试哪种方法效率高

    我们可以用 isset($arr[\\\'a\\\']) 或者 array_key_exists(\\\'a\\\', $arr) 来判断 \\\'a\\\' 键名是否存在与 $arr 数组。 那么这两种方式哪个运行速度快呢? 不多废话了,现在我们写一段代码来测试一下: 结论是 isset() 更胜一筹。

    2024年02月02日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包