我尝试将sys.path.append()
与os.getcwd()
一起使用,但它无效。
来源来自here,我已经下载并提取了它们:
alvas@ubi:~/test$ wget https://github.com/alvations/DLTK/archive/master.zip
alvas@ubi:~/test$ tar xvzf master.zip
alvas@ubi:~/test$ cd DLTK-master/; ls
dltk
alvas@ubi:~/test/DLTK-master$ cd dltk/; ls
tokenize
alvas@ubi:~/test/DLTK-master/dltk$ cd tokenize/; ls
abbrev.lex jwordsplitter-3.4.jar rbtokenize.pl
banana-split-standalone-0.4.0.jar koehn_senttokenize.pl splicer.py
igerman98_all.xml koehn_wordtokenize.pl tokenizer.py
__init__.py nonbreaking_prefix.de
alvas@ubi:~/test/DLTK-master/dltk/tokenize$ cat __init__.py
from tokenizer import punct_tokenize, rb_tokenize
from tokenizer import koehn_tokenize, deupunkt_tokenize
from splicer import jwordsplitter, jwordsplitteralvas
这些是我想从~/text/
目录访问的功能,例如koehn_tokenize
函数。但我似乎无法将模块/函数添加到我的python解释器中。
alvas@ubi:~/test$ wget https://github.com/alvations/DLTK/archive/master.zip
alvas@ubi:~/test$ tar xvzf master.zip
alvas@ubi:~/test$ python
Python 2.7.5+ (default, Sep 19 2013, 13:48:49)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys, os
>>> os.getcwd()
'/home/alvas/test'
>>> sys.path.append(os.path.join(os.getcwd(),'DLKT-master/dltk'))
['','/usr/local/lib/python2.7/dist-packages/...', ...,'/home/alvas/test/DLKT-master/dltk']
>>>
>>> import dltk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dltk
>>>
>>> from dltk.tokenize import koehn_tokenize
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dltk.tokenize
从~/test/
目录下的python解释器,如何访问dltk.tokenize
模块?
如果cd
成为~/test/DLTK-master/dltk/tokenize
:
alvas@ubi:~/test$ cd DLTK-master/dltk/tokenize/
alvas@ubi:~/test/DLTK-master/dltk/tokenize$ python
Python 2.7.5+ (default, Sep 19 2013, 13:48:49)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from __init__ import koehn_tokenize
>>>
但在使用python解释器之前,我不希望cd
进入~/test/DLTK-master/dltk/tokenize
。我需要以某种方式在python中附加模块/函数。
答案 0 :(得分:2)
如果master.zip
包含dltk/__init__.py
,dltk/tokenize/__init__.py
,那么您可以尝试直接将其添加到sys.path
:
import sys; sys.path.append('master.zip')
from dltk.tokenize import koehn_tokenize
从
~/test/
目录的python解释器,我如何访问dltk.tokenize
模块?
只需将~/test/DLTK-master
目录添加到sys.path
:
import sys; sys.path.append('DLTK-master')
from dltk.tokenize import koehn_tokenize
答案 1 :(得分:1)
如果我没错,那么模块不是dltk,而是标记化。
如果我从您的目录树中正确理解,dltk它只是一个内部另一个目录的目录,您必须导入tokenize
再见