除非路径是绝对路径,否则在Flask应用程序中引用目录不起作用

kidman01

我将nltk数据下载到Flask应用程序的data目录中。视图位于与数据目录相同级别的另一个目录的蓝图中。在视图中,我试图设置数据的路径,但是它不起作用。

nltk.data.path.append('../nltk_data/')

这行不通。如果我使用整个路径,它将起作用。

nltk.data.path.append('/home/username/myapp/app/nltk_data/')

为什么第一种形式不起作用?如何正确引用数据的位置?

大卫主义

在Python(和大多数语言)中,代码驻留在程序包中的位置与运行程序时工作目录的位置不同。所有相对路径都是相对于当前工作目录的,而不是相对于其写入的代码文件的。因此,nltk_data/即使是来自蓝图,您也将使用相对路径,或者将使用绝对路径,并且不会产生歧义。

root_path上一个应用程序(或蓝图)属性涉及到该应用(或蓝图)包目录。加入您的相对路径以获取绝对路径。

resource_path = os.path.join(app.root_path, 'enltk_data')

每次调用视图时,都没有理由附加此文件夹。我对nltk并不特别熟悉,但是可能有一种结构化方式,因此在创建应用程序时只需设置一次数据路径。


project    /    app    /    blueprint
                       /    data

                            ^ join with root_path to get here
                ^ app.root_path always points here, no matter where cwd is
^ current working directory

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

HTML中的绝对路径不起作用

提供与我启动节点进程的目录无关的目录的绝对路径不起作用

FileInputStream(“ hello.txt”),除非我指定了绝对路径(C:\ User \ Documents等),否则它将不起作用

Crontab的绝对路径不起作用

葡萄酒不起作用!错误:WINEPREFIX中的无效目录prefix32:不是绝对路径

FadeInImage.assetNetwork 需要绝对路径。占位符的相对路径不起作用。(颤抖中)

PHP require_once绝对路径与相对路径(不起作用)

绝对路径在带图像的gatsby中不起作用?

绝对路径在 create-react-app 中不起作用

绝对路径在 Vite 项目 React TS 中不起作用

相对 Xpath 在 Maven TestNg 中不起作用,但绝对路径有效

图像的相对路径在React应用程序中不起作用?

Appium-iOS-应用程序路径必须是绝对路径或压缩文件的URL

在docker run命令中使用绝对路径不起作用

xlink:href`属性的SVG绝对路径不起作用

为什么 url() 函数的绝对路径不起作用?

如何在基于TypeScript的React Native应用程序中为导入配置绝对路径?

“AddPermission”时 C# 应用程序域异常,说绝对路径是必需的?

如果使用绝对路径调用应用程序,则Bash完成将无法正常工作

Julia中项目根目录的绝对路径

android内部存储中目录的绝对路径?

在 Flask 中搜索(“/search”)应用程序路径不起作用 - CS50 最终项目

可以在CSharpCodeProvider中设置引用的绝对路径吗?

引用rootURL / hbs中的任何绝对路径

Flask应用程序在某些目录中不起作用

PUG中的绝对路径

fopen()中的绝对路径

在PHP中创建绝对路径

Spring Boot 中的绝对路径