栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python:如何从不同目录访问文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python:如何从不同目录访问文件

如果

conf
是Python软件包,则可以使用
pkgutil.get_data()

import pkgutildata = pkgutil.get_data("conf", "constants.cfg")

或是否

setuptools
已安装–
pkg_resources.resource_string()

import pkg_resourcesdata = pkg_resources.resource_string('conf', 'constants.cfg')

如果

constants.cfg
不在软件包中,则将其路径作为命令行参数传递,或者将其设置为环境变量(例如)
CONFIG_MANAGER_CONSTANTS_PATH
,或者从一组固定的默认路径(例如)中读取
os.path.expanduser("~/.config/ConfigManager/constants.cfg")
。要查找放置用户数据的位置,可以使用
appdirs
module。

os.getcwd()
如果您可能
ConfigManager.py
从其他目录运行,则不能使用该函数返回当前工作目录。相对路径
"../../..."
由于相同的原因而行不通。

如果可以确定

ConfigManager.py
constants.cfg
在文件系统中的相对位置不会改变:

import inspectimport osimport sysdef get_my_path():    try:        filename = __file__ # where we were when the module was loaded    except NameError: # fallback        filename = inspect.getsourcefile(get_my_path)    return os.path.realpath(filename)# path to ConfigManager.pycm_path = get_my_path()# go 6 directory levels upsp_path = reduce(lambda x, f: f(x), [os.path.dirname]*6, cm_path)constants_path = os.path.join(sp_path, "conf", "constants.cfg")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669094.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号