当前位置: 首页 > news >正文

Python-实用的文件管理及操作

本章,来说说,个人写代码过程中,对于文件管理常用的几种操作。

三个维度

1、指定文件的路径拼接
2、检查某文件是否存在
3、配置文件的路径管理

1、指定文件的路径拼接

这个操作可以用来管理文件路径也就是上述中的第三点。但是,这里会讲到不一样的方式

os.path.abspath(os.path.dirname(os.path.abspath(__file__))+'\..')

上述是最常见的一种路径获取方式,主要获取的是父级地址。这种方式在纯代码上没有什么问题,但是打包后,这就是个问题了。在很多时候,这样获取路径会报错,找不到某某模块等。

所以,可以使用如下的方式:

os.path.realpath(os.path.dirname(sys.argv[0]))

有什么好处?
这样的方式,在不同的层级下,不需要再次重新进行拼装,只需要在执行文件中执行即可,会自动识别到你所调用的路径层级。

# run.py
# 文件路径层级:最外层
import os
import syssys_ = os.path.realpath(os.path.dirname(sys.argv[0]))
# B.py
# 文件路径层级:Functions/B.py
from run import sys_print(sys_ + "\\" + "执行文件.log")
"""D:\case\Functions\执行文件.log"""

2、检查某文件是否存在

这个操作应该可以说是比较常用的了吧,实际用途:检查指定路径下的log文件是否生成,检查某个路径下的是否有图片存在。数据处理完成后,是否重新生成了数据文件。

import osdef GetFile(path):if os.path.exists(path): os.remove(path)if __name__ == '__main__':path = r"D:\弧形.csv"GetFile(path=path)

os.path.exists(file_path) 用于检查文件是否存在。
os.remove(path)用于删除文件,可以用来完成其他操作

其他方法

对于第二点,还有个操作就是使用第三方模块,pathlib也可以。至于选择上,看个人喜好即可。

from pathlib import Pathdef check_and_delete_file(path, filename):# 创建Path对象file_path = Path(path) / filename# 检查文件是否存在if file_path.exists():# 删除文件file_path.unlink()print(f"文件 {filename} 已被删除")

3、配置文件的路径管理

到了这里,就不用再多说了,结合第一项,不论使用哪种方式方法,都可以进行管理,怎么便捷怎么来即可。

http://www.lryc.cn/news/146178.html

相关文章:

  • Mysql 事物与存储引擎
  • java.lang.classnotfoundexception: com.android.tools.lint.client.api.vendor
  • pytest fixture夹具,@pytest.fixture
  • YOLOv7源码解析
  • 2023高教社杯数学建模思路 - 复盘:校园消费行为分析
  • ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)
  • 无涯教程-PHP - 标量函数声明
  • 动态规划(Dynamic programming)讲解(线性 DP 篇)
  • 提升开发能力的低代码思路
  • YAML详解及使用方法
  • 垃圾回收器
  • SpringBoot 读取配置文件的值为 Infinity
  • 学习笔记230827--vue项目中,子组件拿不到父组件异步获取数据的问题
  • sql:SQL优化知识点记录(三)
  • List<Map>操作汇总
  • 软考:中级软件设计师:网络类型与拓扑结构,网络规划与设计,ip地址与子网划分,特殊含义的IP地址
  • linux创建进程
  • 100天精通Golang(基础入门篇)——第19天:深入剖析Go语言中方法(Method)的妙用与实践
  • 【人工智能】—_不确定性、先验概率_后验概率、概率密度、贝叶斯法则、朴素贝叶斯_、最大似然估计
  • postgresql-字符函数
  • VUE笔记(五)网络通信
  • 微信小程序修改数据,input不能实时回显
  • GitHub Copilot三连更:能在代码行里直接提问,上下文范围扩展到终端
  • 双亲委派机制
  • 美团北极星榜单,服务零售的医美新样本
  • geant4 常用代码
  • 重要通知!eBay将升级买家满意度考核,如何让你的店铺脱颖而出?
  • PHP中pack、unpack的用法
  • KUKA机器人零点标定的具体方法
  • 基于SpringBoot+Vue的旅游系统