【发布时间】:2012-02-28 12:25:05
【问题描述】:
我在 python 脚本中使用了外部数据输入(实际上是一个 excel 文件作为模板)。这个外部文件特定于我签入到 SVN 的脚本版本。所以我想我也应该检查外部文件?
您将如何管理脚本找到文件(我使用 Windows)?当前目录的相对路径?手动检查 sys.path 路径?给脚本一些参数,指定相对路径访问的根目录?
【问题讨论】:
我在 python 脚本中使用了外部数据输入(实际上是一个 excel 文件作为模板)。这个外部文件特定于我签入到 SVN 的脚本版本。所以我想我也应该检查外部文件?
您将如何管理脚本找到文件(我使用 Windows)?当前目录的相对路径?手动检查 sys.path 路径?给脚本一些参数,指定相对路径访问的根目录?
【问题讨论】:
查找数据文件的常用习语是这样的:
my_dir = os.path.dirname(sys.argv[0])
data_file_path = os.path.join(my_dir, data_filename)
因此,如果您的脚本位于/some/path/script.py 中,并且data_filename 是myfile,那么当您的脚本执行时,这将正确找到/some/path/myfile。
这适用于 Windows 和 Linux
【讨论】:
是的,您是对的,如果文件对您的程序整体至关重要并且在运行时需要,您应该将文件添加到 SVN。我会使用相对路径并将所述文件放在项目文件夹中。
对于您问题的第二部分,请查看 diveintopython 非常好的解释,了解访问脚本路径的不同方法。
【讨论】: