与系统路径类似,我想在代码中提供一些便利,允许用户指定可能在少数路径之一中的文件名。
说我有两个或多个配置路径
['~/.foo-config/', '/usr/local/myapp/foo-config/']
我的用户想打开bar
,(又名bar.baz
)
是否有一种便捷的构建方式,可以按LTR优先顺序让这些文件自动搜索 open('bar')
或 在 open('bar.baz')
这些路径中搜索?例如,是否会临时将我调整 sys.path
为仅这些目录对我这样做?
否则,您如何建议实现类似PATH的搜索open-wrapper?
open
没有陷入那种逻辑。如果需要,编写一个包装器函数,该函数用于将参数的os.path.join
每个成员连接sys.path
到参数文件名,并尝试按顺序打开它们,以处理找不到此文件时发生的错误。
我还要补充一点,正如另一个用户所说,这是对的误用sys.path
,但是此功能适用于任何路径列表。的确,也许最好的选择是使用另一个用户建议的环境变量来指定一个用冒号分隔的配置目录列表,然后在搜索功能中解析并使用该目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句