gpt4 book ai didi

Python从自定义路径打开文件名

转载 作者:行者123 更新时间:2023-11-30 23:11:40 24 4
gpt4 key购买 nike

与系统路径类似,我想在我的代码中提供一些便利,允许用户指定可能位于少数路径之一的文件名。

假设我有两个或多个配置路径

['~/.foo-config/', '/usr/local/myapp/foo-config/']

我的用户想要打开 bar,(又名 bar.baz)

  1. 是否有一种方便的构建方法可以让 open('bar')open('bar.baz') 自动搜索这些该文件的路径是否按 LTR 优先顺序排列?例如,临时调整我的 sys.path 使其仅是这些目录可以为我做到这一点吗?

  2. 否则,您建议如何实现类似 PATH 的搜索开放包装器?

最佳答案

正如其他人已经提到的: sys.path 影响模块搜索路径,即它与导入 Python 模块相关,但与 open 无关().

我建议将按优先顺序搜索路径和打开文件的逻辑分开,因为这样更容易测试阅读

我会做这样的事情:

import os

PATHS = ['~/.foo-config/', '/usr/local/myapp/foo-config/']


def find_first(filename, paths):
for directory in paths:
full_path = os.path.join(directory, filename)
if os.path.isfile(full_path):
return full_path


def main():
filename = 'file.txt'
path = find_first(filename, PATHS)
if path:
with open(path) as f:
print f
else:
print "File {} not found in any of the directories".format(filename)


if __name__ == '__main__':
main()

关于Python从自定义路径打开文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30129734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com