Python每日一练0023

news/2024/7/1 2:53:08

问题

如何判断一个文件是否存在

解决方案

这个问题可以分成几类问题

如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法

>>> import os
>>> os.path.exists('test')
True

如果这里的文件指的是普通的文件,我们可以用os.path.isfile()方法

>>> import os
>>> os.path.isfile('test.txt')
True
>>> os.path.exists('test.txt')
False

如果这里的文件指的是目录,我们可以用os.path.isdir()方法

>>> import os
>>> os.path.isfile('test')
False
>>> os.path.isdir('test')
True

并且在Python 3.4之后,可以使用面向对象的方法(使用pathlib库)来判断,方法名和上面是一样的,举个例子

>>> from pathlib import Path
>>> with Path('test') as p:
...     print(p.exists())
...
True

讨论

需要注意的是,不管是os.path还是pathlib的方法,isfileisdir都是跟随符号链接(软链接)的,所以对于同一个路径,可能会出现os.path.isfileos.path.islink返回都是True

os.path还包含与文件相关的很多实用方法,详细见:https://docs.python.org/3/lib...

来源

Python Cookbook

关注

欢迎关注我的微信公众号:python每日一练


http://lihuaxi.xjx100.cn/news/237036.html

相关文章

洛谷P1074 靶形数独(跳舞链)

传送门 坑着&#xff0c;等联赛之后再填&#xff08;联赛挂了就不填了233&#xff09; 1 //minamoto2 #include<iostream>3 #include<cstdio>4 #include<cstring>5 using namespace std;6 #define getc() (p1p2&&(p2(p1buf)fread(buf,1,1<<21,…

使用 Python 从零开始开发区块链应用程序

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 “区块链”是什么&#xff1f; 区块链是一种存储数字数据的方式。数据可以是任何内容。对于比特币&#xff0c;它是事务&#xff08;在帐户之间转移…

spring boot 实战 / 可执行war启动参数详解

概述 上一篇文章《spring boot 实战 / mvn spring-boot:run 参数详解》主要讲解了spring boot 项目基于maven插件启动过程中借助profiles的切换工作环境的问题。  这里我们讲一下spring boot项目基于可执行war包启动过程中借助profiles切换工作环境的问题。 配置 这里我们修改…

反射和枚举

/*** 类的加载概述&#xff1a;* 当程序要使用某个类时&#xff0c;如果该类还未被加载到内存中&#xff0c;则系统会通过加载、连接、初始化三步来实现对这个类进行初始化* 加载* 就是指将class文件读入内存&#xff0c;并为之创建一个class对象&#xff0c;任何类被使…

40行python开发一个区块链

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 尽管有人认为区块链目前还是个不成熟的解决方案&#xff0c;但它无疑称得上是计算机发展历史上的一个奇迹。但是&#xff0c;到底区块链是什么呢?…

Laravel开启跨域的方法

1、建立中间件Cors.php 命令&#xff1a;php artisan make:middleware Cors 在/app/Http/Middleware/ 目录下会出现一个Cors.php 文件。 内容如下&#xff1a; <?phpnamespace App\Http\Middleware;use Closure;class Cors {/*** Handle an incoming request.** param \Il…

最常见的 35 个 Python 面试题及答案

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 作为一个 Python 新手&#xff0c;你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案&#xff0c;以帮助你完…

Hive 中的变量

Hive的变量前面有一个命名空间&#xff0c;包括三个hiveconf&#xff0c;system&#xff0c;env&#xff0c;还有一个hivevar hiveconf的命名空间指的是hive-site.xml下面的配置变量值。system的命名空间是系统的变量&#xff0c;包括JVM的运行环境。env的命名空间&#xff0c;…