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

Python Cookbook-2.20 在 Python 的搜索路径中寻找文件

任务

一个大的 Python 应用程序包括了资源文件(比如 Glade 项目文件、SQL 模板和图片)以及 Python 包(Python package)。你想把所有这些相关文件和用到它们的 Python 包储存起来。

解决方案

可以在 Python 的 sys.path 中寻找文件或目录:

import sys,os
class Error(Exception):pass
def _find(pathname, matchFunc = os.path.isfile):
	for dirname in sys.path:
		candidate = os.path.join(dirname, pathname)
		if matchFunc(candidate):
			return candidate
	raise Error("Can't find files" %pathname)
def	findFile(pathname):
	return _find(pathname)
def findDir(path):
	return _find(path, matchFunc = os.path.isdir)

讨论

比较大的 Python 应用程序由一系列 Python 包和相关的资源文件组成。将这些相关文件和用到它们的 Python 包一起储存起来是很方便的,可以很容易地对 2.18 提供的代码略加修改,使之能根据 Python 搜索路径的相对路径来寻找文件和目录。

http://www.dtcms.com/a/44816.html

相关文章:

  • Leetcode-柱状图中最大的矩形(单调栈)
  • 进程信号
  • 大模型在白血病诊疗全流程风险预测与方案制定中的应用研究
  • 【AIGC系列】4:Stable Diffusion应用实践和代码分析
  • 大语言模型中的 Token:它们是什么,如何工作?
  • 如何调试Linux内核?
  • 【Java】I/O 流篇 —— 打印流与压缩流
  • 无人系统:未来科技的智能化代表
  • 有关数据库表的冗余字段
  • 塔能科技:工厂智慧照明,从底层科技实现照明系统的智能化控制
  • Python 项目安全实战:工具应用、规范制定、数据防护与架构加固
  • 【自学笔记】Oracle基础知识点总览-持续更新
  • AcWing--866.试除法判定质数
  • Linux:进程地址空间的奥秘
  • leetcode 108. 将有序数组转换为二叉搜索树
  • 在Ubuntu下,源码编译安装Python
  • SQL server配置ODBC数据源(本地和服务器)
  • Python 科学计算生态入门 1 - 基础环境与管理
  • ue5 创建多列StreeView的方法与理解
  • SQL Server所有数据类型大全
  • IntelliJ IDEA 构建项目时内存溢出问题
  • 如何在Linux操作系统上测试网络的上传速度和下载速度
  • 关于流水线的理解
  • next.js-学习4
  • deepseek使用记录17-3
  • MySQL锁分类
  • DeepSeek-R1 大模型实战:腾讯云 HAI 平台 3 分钟极速部署指南
  • react 父组件调用子组件方法:forwardRef + useImperativeHandle
  • BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab
  • Windows在多网络下指定上网接口