我有一个在 web2py
下在线运行的应用程序 . 现在,我正在添加 names.yml
文件,我需要在web2py服务器上的控制器文件 (default.py)
中调用 . 我应该在哪里保留 .yml/.yaml
文件 . 目前我已将它们保存在 default/names.yml
的视图中,但当我在default.py中调用它时:
dicttagger = DictionaryTagger([ 'default/names.yml', 'default/surname.yml'])
我没有这样的文件错误 . 还试过以下:
dicttagger = DictionaryTagger([ 'views/default/names.yml', 'views/default/surname.yml'])
同样的错误
类快照如下:
class DictionaryTagger(object):
def __init__(self, dictionary_paths):
files = [open(path, 'r') for path in dictionary_paths]
dictionaries = [yaml.load(dict_file) for dict_file in files]
map(lambda x: x.close(), files)
有关如何执行此操作的任何建议,或者我在we2py中使用yaml / yml文件时出错,并且它无法在联机托管的web2py应用程序中运行?
问题2
谢谢 . 它解决了一个错误,但我不确定如何将nltk.download()添加到我的托管应用程序中 . 我一直得到以下错误 . 你能看一下:Traceback 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Traceback(最近一次调用最后一次):文件“/ home / prakashsukhwal / web2py /gluon/restricted.py“,第220行,在环境文件中的受限制的exec ccode中”/home/prakashsukhwal/web2py/applications/Sensiva/controllers/default.py“,第4行,在nltk.download()文件中”/ usr /local/lib/python2.7/dist-packages/nltk/downloader.py“,第644行,下载self._interactive_download()文件”/usr/local/lib/python2.7/dist-packages/nltk/downloader .py“,第958行,在_interactive_download中DownloaderShell(self).run()文件”/usr/local/lib/python2.7/dist-packages/nltk/downloader.py“,第981行,在运行user_input = raw_input( 'Downloader>') . totrip()EOFError:读取行时的EOF错误快照帮助(读取行时的EOF)
检查属性
框架
文件/home/prakashsukhwal/web2py/gluon/restricted.py限制在第220行代码参数变量
文件/home/prakashsukhwal/web2py/applications/Sensiva/controllers/default.py中的第4行代码参数变量
文件/usr/local/lib/python2.7/dist-packages/nltk/downloader.py下载第644行代码参数变量
文件/usr/local/lib/python2.7/dist-packages/nltk/downloader.py在_interactive_download第958行代码参数变量
文件/usr/local/lib/python2.7/dist-packages/nltk/downloader.py在第981行运行代码参数变量
函数参数列表
(个体=)
代码清单
def run(self):
print 'NLTK Downloader'
while True:
self._simple_interactive_menu(
'd) Download', 'l) List', ' u) Update', 'c) Config', 'h) Help', 'q) Quit')
user_input = raw_input('Downloader> ').strip()
if not user_input: print; continue
command = user_input.lower().split()[0]
args = user_input.split()[1:]
try:
变量
user_input undefined builtinraw_input).strip undefined上下文
1 回答
您可以将文件存储在任何位置,但如果您使用的是Python
open
函数,则需要为其提供完整路径,而不是相对于web2py应用程序文件夹的路径 . 相反,尝试: