6

如文档中所述,我希望能够读取相对于scrapy根目录 的文件

有没有办法从蜘蛛内部确定这条路径?

4

2 回答 2

10

我不知道scrapy是否知道它在文件系统上的位置,但在我settings.py添加

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

然后在蜘蛛中你可以说

from yourscrapyprojecthere import settings

settings.PROJECT_ROOT

在这里,我假设我的项目根目录是 settings.py 文件所在的位置。如果要获取目录,scrapy.cfg则必须上目录

于 2013-01-15T15:11:49.887 回答
7

非常老的问题,但对于那些经常寻找答案的人来说,scrapy 有一种查找项目根目录的内置方法:

from scrapy.utils.conf import closest_scrapy_cfg

proj_root = closest_scrapy_cfg()

将返回包含 scrapy.cfg 文件的文件夹的绝对路径

编辑:将返回项目的 scrapy.cfg 文件的绝对路径

于 2017-08-09T08:46:08.987 回答