要求用户提供指向my library的非python文件的路径

要求用户提供指向my library的非python文件的路径,python,python-3.x,config,Python,Python 3.x,Config,编辑:我重写并缩短了问题,因为它似乎不清楚 我目前正在编写一个python程序,如果它能够访问一些特定的非python文件,那么一些功能就会得到改进。(我这里说的是数据集) 问题是,我自己无权共享这些文件,而且这些文件非常大,与我的库一起共享是不现实的 用户有两种可能: 单独使用该程序,仅具有基本功能 通过请求所有者下载文件,然后使用高级功能 在第二种情况下,我想知道询问用户“如果您的机器上有这些文件,请告诉我从现在起在哪里可以使用高级功能”的最佳做法是什么。 我可以找到几种方法来实现这一点

编辑:我重写并缩短了问题,因为它似乎不清楚

我目前正在编写一个python程序,如果它能够访问一些特定的非python文件,那么一些功能就会得到改进。(我这里说的是数据集)

问题是,我自己无权共享这些文件,而且这些文件非常大,与我的库一起共享是不现实的

用户有两种可能:

  • 单独使用该程序,仅具有基本功能
  • 通过请求所有者下载文件,然后使用高级功能
在第二种情况下,我想知道询问用户“如果您的机器上有这些文件,请告诉我从现在起在哪里可以使用高级功能”的最佳做法是什么。 我可以找到几种方法来实现这一点,但没有一种方法看起来非常干净或符合Python(例如,要求用户在库中的特定位置复制文件,或要求用户在配置文件中写入路径,等等)

这样做的好方法是什么?或者至少,是否有一种标准方法?

用于处理不同的约定并使路径操作系统独立。通常,我倾向于将路径保存在单独的文件中,如
config/paths.py
。始终使用相对路径

from pathlib import Path


class Paths:
    A: Path = Path('data/foo.csv')
    B: Path = Path('data/foo2.csv')

谢谢,但我的问题有点不同。我只想让用户告诉库:“是的,我下载了这个数据集,它就在我的机器上。”。之后,我可以使用
pathlib
os.path
访问数据集中的文件。