如何在python包中设置路径

Papouche Guinslyzinho

我正在创建一个程序包,首先我在本地安装它,python setup.py develop我在调用程序时遇到问题

>>> import cstm.artefact as art
>>> art.what_is('Objname', 'en')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/guinsly/development/public/project/jeunesse/canadian_science_and_t
echnology_museum_api/cstm/artefact.py", line 56, in what_is
    valeur = open_file(keywords, lang)
  File "/home/guinsly/development/public/project/jeunesse/canadian_science_and_t
echnology_museum_api/cstm/artefact.py", line 24, in open_file
    book = xlrd.open_workbook(path)
  File "/usr/lib/python2.7/dist-packages/xlrd/__init__.py", line 394, in open_wo
rkbook
    f = open(filename, "rb")
IOError: [Errno 2] No such file or directory: '/home/guinsly/cstm/data/data.xls'

所以我要创建的程序包就在这条路径上 /home/guinsly/development/public/project/jeunesse/canadian_science_and_technology_museum_api/cstm/

但是程序包尝试.xls在运行bpython控制台打开我所在文件

在我的包装上,我的测试还可以

-> % py.test -v
============================== test session starts ==============================
platform linux -- Python 3.4.0 -- py-1.4.26 -- pytest-2.6.4 -- /usr/bin/python3
plugins: quickcheck
collected 4 items 

test_artefact.py::TestArtefact::test_definition PASSED
test_artefact.py::TestArtefact::test_definition_fr PASSED
test_artefact.py::TestArtefact::test_definition_not_found PASSED
test_artefact.py::TestArtefact::test_definition_not_found_fr PASSED

=========================== 4 passed in 0.09 seconds ============================
guinsly@guinsly-ThinkPad-L430 [09:46:33] [~/development/public/project/jeunesse/canadian_science_and_technology_museum_api]

问题:如何在此功能上正确设置路径

def open_file(keywords, lang = 'en'):
    """
    Open and read an Excel file
    """
    directory = os.getcwd()
    path = directory+"/cstm/data/data.xls"

....
马丁·彼得斯(Martijn Pieters)

您正在使用相对于当前工作目录的路径,而不是相对于您的项目的路径。当前工作目录由用户设置(例如,基于其在终端中的当前位置)。

使用__file__模块全局变量来确定模块位置:

import os

module_path = os.path.dirname(os.path.abspath(__file__))

并建立相对于该文件的路径:

path = os.path.join(module_path, "cstm/data/data.xls")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Centos Linux中设置python路径

来自分类Dev

如何在Windows 7中设置python路径

来自分类Dev

如何在Python中设置unrar库的路径?

来自分类Dev

如何在 composer.phar 中为某个需要的包设置安装路径?

来自分类Dev

如何在javascript中设置静态路径?

来自分类Dev

如何在Matlab中设置路径?

来自分类Dev

如何在Java中设置此路径?

来自分类Dev

如何在cronscript中设置路径

来自分类Dev

如何在Matlab中设置路径?

来自分类Dev

如何在Laravel中设置文件路径?

来自分类Dev

如何在php中设置下载路径

来自分类Dev

如何在atom的包中设置断点?

来自分类Dev

如何在/ apps中为在Linux redhat中/ opt中安装的Python设置pandas库的路径

来自分类Dev

如何在Atom软件包设置中搜索设置?

来自分类Dev

如何设置Python包

来自分类Dev

如何在Python中获取类路径

来自分类Dev

如何在 Python 中安装包

来自分类Dev

如何在dijit模板中设置相对路径?

来自分类Dev

如何在Mac OS X中设置默认的蚂蚁路径?

来自分类Dev

如何在PhpStorm中设置php.ini文件的路径

来自分类Dev

如何在Express中设置默认路径(路由前缀)?

来自分类Dev

如何在R中设置用于编织的乳胶路径?

来自分类Dev

如何在XCode中设置lldb的发现路径

来自分类Dev

如何在laravel中设置视图文件路径?

来自分类Dev

如何在硒中设置firefoxdriver的驱动程序路径

来自分类Dev

如何在IntelliJ中设置bash解释器路径

来自分类Dev

如何在Django的ImageField的路径中设置变量?

来自分类Dev

如何在Jupyter Lab中设置路径以查找CSV文件?

来自分类Dev

如何在Delphi 10.3中安装组件并设置搜索路径?

Related 相关文章

热门标签

归档