網(wǎng)站首頁 編程語言 正文
Python 操作文件時(shí),我們一般要先判斷指定的文件或目錄是否存在,不然容易產(chǎn)生異常。
1.文件
# 是否存在 import os os.path.exists(test_file.txt)
# 是不是文件 import os os.path.isfile("test-data")
# 是不是文件 from pathlib import Path my_file = Path("/path/to/file") my_file.is_file()
2.文件夾
# 是否存在 import os os.path.exists(test_dir)
# 是不是文件夾 from pathlib import Path my_file = Path("/path/to/file") my_file.is_dir()
# 是否存在 from pathlib import Path my_file = Path("/path/to/file") my_file.exists()
3.補(bǔ)充
例如我們可以使用 os 模塊的 os.path.exists() 方法來檢測文件是否存在:
import os.path os.path.isfile(fname)
如果你要確定他是文件還是目錄,從 Python 3.4 開始可以使用 pathlib 模塊提供的面向?qū)ο蟮姆椒?(Python 2.7 為 pathlib2 模塊):
from pathlib import Path my_file = Path("/path/to/file") if my_file.is_file(): ? ? # 指定的文件存在
檢測是否為一個(gè)目錄:
if my_file.is_dir(): ? ? # 指定的目錄存在
如果要檢測路徑是一個(gè)文件或目錄可以使用 exists() 方法:
if my_file.exists(): ? ? # 指定的文件或目錄存在
在 try 語句塊中你可以使用 resolve() 方法來判斷:
try: ? ? my_abs_path = my_file.resolve() except FileNotFoundError: ? ? # 不存在 else: ? ? # 存在
原文鏈接:https://blog.csdn.net/weixin_44493841/article/details/123553838
相關(guān)推薦
- 2022-12-22 Flutter?Widget?之StatefulBuilder構(gòu)建方法詳解_Android
- 2022-06-01 C語言線性表中順序表超詳細(xì)理解_C 語言
- 2022-10-28 Python圖形用戶界面與游戲開發(fā)實(shí)例詳解_python
- 2022-11-30 C++之值傳遞&指針傳遞&引用傳遞的示例詳解_C 語言
- 2022-11-21 C++?getcwd函數(shù)獲取項(xiàng)目運(yùn)行路徑方法詳解_C 語言
- 2022-07-11 Oracle使用dblink同步數(shù)據(jù)
- 2023-10-09 axios二次封裝 大文件分片上傳的封裝
- 2022-06-15 axios?gin的GET和POST請求實(shí)現(xiàn)示例_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支