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