Python3操作文件系列(一):判断文件|目录是否存在三种方式

news2024/12/28 3:38:37



Python3操作文件系列(一):判断文件|目录是否存在三种方式

Python3操作文件系列(二):文件数据读写|二进制数据读写

Python3数据文件读取与写入

 




一: 文件操作认知:

提升认知:
   Python判断文件是否存在的三种方法
     1.使用os模块
     2.判断文件是否可做读写操作
     3.使用Try语句
     4.使用pathlib模块
     通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。
     介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块

二:三种判断方式


# -*- coding:utf-8 -*-
import os
import pathlib

"""
   提升认知:
      Python判断文件是否存在的三种方法
        1.使用os模块
        2.判断文件是否可做读写操作
        3.使用Try语句
        4.使用pathlib模块
        通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。
        介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块
"""

print("""
   Python判断文件是否存在的三种方法
        1.使用os模块
        2.判断文件是否可做读写操作
        3.使用Try语句
        4.使用pathlib模块
        通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。
        介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块
""")

print()
print("---------------------------------判断文件或者目录是否存在的方法一-------------------------------")
print("""
   1.使用os模块
    os模块中的os.path.exists()方法用于检验文件是否存在。
    判断文件是否存在
    判断文件夹是否存在  判断文件和文件夹是一样。
""")
print("判断文件和文件夹是一样:os.path.exists() 该方法 ")
print("if语句写同一行,并返回值,如果if成立,则赋值True给result;否则就赋值False给result")
result = True if os.path.exists("../dataanalysis/file/data.txt") else False
print("result: ", result)
print(result is True)

print('检查文件: os.path.isfile("data.txt") ')
print("data.txt是否是文件: %s" % (os.path.isfile("../dataanalysis/file/data.txt")))

print()
print("判断文件是否可做读写操作")
print("""
使用os.access()方法判断文件是否可进行读写操作。
语法:
    os.access(path, mode)
    path为文件路径,mode为操作模式,有这么几种:
        os.F_OK: 检查文件是否存在;
        os.R_OK: 检查文件是否可读;
        os.W_OK: 检查文件是否可以写入;
        os.X_OK: 检查文件是否可以执行
""")
# 路径使用相对路径
if os.access("../dataanalysis/file/data.txt", os.F_OK):
    print("Given file path is exist.")

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

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

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

print()
print("---------------------------------判断文件或者目录是否存在的方法二-------------------------------")
print("""
使用Try语句
    可以在程序中直接使用open()方法来检查文件是否存在和可读写。
    语法:
    open()
        如果你open的文件不存在,程序会抛出错误,使用try语句来捕获这个错误。
        程序无法访问文件,可能有很多原因:
        如果你open的文件不存在,将抛出一个FileNotFoundError的异常;
        文件存在,但是没有权限访问,会抛出一个PersmissionError的异常。
        所以可以使用下面的代码来判断文件是否存在:

""")
try:
    with open("../dataanalysis/file/data.txt") as f:
        print("文件的编码格式为: ", f.encoding)
except FileNotFoundError:
    print("File is not found.")
except PermissionError:
    print("You don't have permission to access this file.")

'''
其实没有必要去这么细致的处理每个异常,上面的这两个异常都是IOError的子类。所以可以将程序简化一下:
'''
try:
    f = open("../dataanalysis/file/data.txt")
    f.close()
except IOError:
    print("File is not accessible.")

print()
print("---------------------------------判断文件或者目录是否存在的方法三-------------------------------")

print()
print("""
 使用pathlib模块
        pathlib模块在Python3版本中是内建模块,但是在Python2中是需要单独安装三方模块。

        使用pathlib需要先使用文件路径来创建path对象。此路径可以是文件名或目录路径。

        检查路径是否存在
        检查路径是否是文件
""")

path = pathlib.Path("../dataanalysis/file/")
print("../dataanalysis/file/路径是否存在:", path.exists())

path = pathlib.Path("../dataanalysis/file/data.txt")
print('data.txt文件是否存在: ', path.is_file())

三: 三种判断方式运行效果


D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\file\FileJudgmentIsNotExist.py 

   Python判断文件是否存在的三种方法
        1.使用os模块
        2.判断文件是否可做读写操作
        3.使用Try语句
        4.使用pathlib模块
        通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。
        介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块


---------------------------------判断文件或者目录是否存在的方法一-------------------------------

   1.使用os模块
    os模块中的os.path.exists()方法用于检验文件是否存在。
    判断文件是否存在
    判断文件夹是否存在  判断文件和文件夹是一样。

判断文件和文件夹是一样:os.path.exists() 该方法 
if语句写同一行,并返回值,如果if成立,则赋值True给result;否则就赋值False给result
result:  True
True
检查文件: os.path.isfile("data.txt") 
data.txt是否是文件: True

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

使用os.access()方法判断文件是否可进行读写操作。
语法:
    os.access(path, mode)
    path为文件路径,mode为操作模式,有这么几种:
        os.F_OK: 检查文件是否存在;
        os.R_OK: 检查文件是否可读;
        os.W_OK: 检查文件是否可以写入;
        os.X_OK: 检查文件是否可以执行

Given file path is exist.
File is accessible to read
File is accessible to write
File is accessible to execute

---------------------------------判断文件或者目录是否存在的方法二-------------------------------

使用Try语句
    可以在程序中直接使用open()方法来检查文件是否存在和可读写。
    语法:
    open()
        如果你open的文件不存在,程序会抛出错误,使用try语句来捕获这个错误。
        程序无法访问文件,可能有很多原因:
        如果你open的文件不存在,将抛出一个FileNotFoundError的异常;
        文件存在,但是没有权限访问,会抛出一个PersmissionError的异常。
        所以可以使用下面的代码来判断文件是否存在:


文件的编码格式为:  cp65001

---------------------------------判断文件或者目录是否存在的方法三-------------------------------


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

        使用pathlib需要先使用文件路径来创建path对象。此路径可以是文件名或目录路径。

        检查路径是否存在
        检查路径是否是文件

../dataanalysis/file/路径是否存在: True
data.txt文件是否存在:  True

Process finished with exit code 0
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二、Excel VBA 简单使用

Excel VBA 从入门到出门一、Excel VBA 是个啥?二、Excel VBA 简单使用 👋Excel VBA 简单使用 ⚽️1. 如何在Excel中手动编写VBA代码⚽️2. 如何在 Excel 中运行 VBA 代码⚽️3. 如何在Excel中记录VBA代码⚽️4. 如何在Excel中编辑录制的VBA代码⚽️5. 如…

学习笔记|ADC|NTC原理|测温程序|STC32G单片机视频开发教程(冲哥)|第十九集:ADC应用之NTC

文章目录 1.NTC的原理开发板上的NTC 2.NTC的测温程序编写3.实战小练总结课后练习 1.NTC的原理 NTC(Negative Temperature Coefficient)是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。该材料是利用锰、铜、硅、钴、铁、镍、锌…

经典算法-----01背包问题(动态规划)

目录 前言 01背包问题 问题描述 ​编辑 动态规划 基本概念 怎么理解动态规划? 解决01背包问题 代码实现 前言 今天我们学习一种新的算法---动态规划,这种算法思想是属于枚举的一种,下面我就通过01背包问题来说明这种算法的解决思路。 01背包问…

GEE17: 基于Theil-Sen Median斜率估计和Mann-Kendall趋势分析方法分析四川省2022年NDVI变化情况

Theil-Sen Median Mann-Kendall 1. Theil-Sen Median Mann-Kendall 原理1.1 Theil-Sen Median1.2 Mann-Kendall 2. GEE code 1. Theil-Sen Median Mann-Kendall 原理 1.1 Theil-Sen Median Theil-Sen Median方法又称为Sen斜率估计,是一种稳健的非参数统计的趋势…

LeakyReLU激活函数

nn.LeakyReLU 是PyTorch中的Leaky Rectified Linear Unit(ReLU)激活函数的实现。Leaky ReLU是一种修正线性单元,它在非负数部分保持线性,而在负数部分引入一个小的斜率(通常是一个小的正数),以防…

JVM(八股文)

目录 一、JVM简介 二、JVM中的内存区域划分 三、JVM加载 1.类加载 1.1 加载 1.2 验证 1.3 准备 1.4 解析 1.5 初始 1.6 总结 2.双亲委派模型 四、JVM 垃圾回收(GC) 1.确认垃圾 1.1 引用计数 1.2 可达性分析(Java 采用的方案&a…

BI系统有哪些?新手怎么选?

从本土化服务以及契合中国企业使用习惯等方面来看,建议采用国产BI系统。国内比较知名的BI工具有很多,比如亿信华辰BI(亿信ABI)、思迈特BI(Smartbi)、奥威BI(OurwayBISpeedBI)、帆软BI(FineBI)等。 这些BI系统在操作上都比较简单,比如像奥威B…

Vue中...(扩展运算符)的作用

对数组和对象而言,就是将运算符后面的变量里东西每一项拆下来。 (一)操作数组 // 1.把数组中的元素孤立起来 let iArray [1, 2, 3]; console.log(...iArray); // 打印结果 1 2 3// 2.在数组中添加元素 let iArray [1, 2, 3]; console.log…

拉取公司前端项目本地运行结果Bug频出,看我是如何一步一步成功解决的

文章目录 前端项目运行Bug记录问题背景npm install 报错问题1:npm install 报错ERESOLVE could not resolve问题2:npm install 报错 Cannot read properties of null问题3:node安装了npm没安装问题4:npm和node不兼容问题5&#xf…

新文件覆盖旧文件还能复原吗,3个方法快速恢复覆盖文件!

iPhone在解压压缩文件时,不小心将同名文件进行了覆盖,怎么撤回? 在使用U盘转移文档时,意外将同名文档进行了替换,怎么恢复? 当误将重名文件进行了替换,如何找回这些被覆盖的旧文件?…

Vue中的数据绑定

一、v-bind单向数据绑定 单向数据绑定中,数据只能由data流向页面。 v-bind:属性名"data变量" 或简写为 :属性名"data变量" 我们修改data中的iptvalue值,页面input框中的value值改变。 而我们修改input框中的value值&#xff0…

【C++初阶(二)C——C++过渡必看】

文章目录 前言一、C关键字🍎二、命名空间🍅1.命名空间的定义🍒2.命名空间使用🍓 三、C输入&输出🍑四、缺省参数🫑1. 缺省参数概念🍉2. 缺省参数分类🥝 五、函数重载&#x1f965…

【Vue面试题五】说说你对Vue生命周期的理解?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:请描述下你对vue生命周期…

八、互联网技术——物联网

文章目录 一、智慧物联案例分析二、M2M技术三、数据保护综合案例分析一、智慧物联案例分析 智能物流是一种典型的物联网应用。一个物流仓储管理系统架构如下图所示: [问题1] 图中的三层功能:仓库物品识别、网络接入、物流管理中心,分别可对应到物联网基本架构中的哪一层? …

金九银十,刷完这个笔记,17K不能再少了....

大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…

MybatisPlus01

MybatisPlus01 1.MybatisPlus初体验 1.1首先要引入MybatisPlus的依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency>1.2定义Mapp…

【论文极速读】EMT——评估多模态LLM中的灾难性遗忘问题

【论文极速读】EMT——评估多模态LLM中的灾难性遗忘问题 FesianXu 20231001 at Baidu Search Team 前言 论文[1]报告了多模态LLM中遇到的灾难性遗忘问题&#xff0c;并且提出了一种评估其程度的方法EMT&#xff0c;本文简要介绍&#xff0c;希望对读者有所帮助。如有谬误请见谅…

criu简单例子

CRIU&#xff08;Checkpoint/Restore In Userspace&#xff09;是运行在linux操作系统上的一个开源软件&#xff0c;其功能是在用户空间实现Checkpoint/Restore功能。 github地址如下&#xff1a;https://github.com/checkpoint-restore/criu 本人选取的版本是3.12&#xff0…

使用V-Ray for SketchUp 进行室外场景操作流程!

使用V-Ray for SketchUp 渲染时&#xff0c;可让大家轻松创建出色的渲染效果。如何使用V-Ray for SketchUp 进行室外场景操作呢&#xff1f; 对于一些新手朋友&#xff0c;可能是不知所措的&#xff0c;今天小编通过一个室外场景案例流程来给大家展示看看。 1、设置场景 可视化…

FPGA设计时序约束三、设置时钟组set_clock_groups

目录 一、背景 二、时钟间关系 2.1 时钟关系分类 2.2 时钟关系查看 三、异步时钟组 3.1 优先级 3.2 使用格式 3.3 asynchronous和exclusive 3.4 结果示例 四、参考资料 一、背景 Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径&#xff0c;除非时序约束…