如文档中所述,我希望能够读取相对于scrapy根目录 的文件。
有没有办法从蜘蛛内部确定这条路径?
我不知道scrapy是否知道它在文件系统上的位置,但在我settings.py
添加
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
然后在蜘蛛中你可以说
from yourscrapyprojecthere import settings
settings.PROJECT_ROOT
在这里,我假设我的项目根目录是 settings.py 文件所在的位置。如果要获取目录,scrapy.cfg
则必须上目录
非常老的问题,但对于那些经常寻找答案的人来说,scrapy 有一种查找项目根目录的内置方法:
from scrapy.utils.conf import closest_scrapy_cfg
proj_root = closest_scrapy_cfg()
将返回包含 scrapy.cfg 文件的文件夹的绝对路径
编辑:将返回项目的 scrapy.cfg 文件的绝对路径