Scrapy.bat 说明
在Python的Scrapy框架中,有一个叫做scrapy.bat的文件:
@echo off
setlocal
"%~dp0..\python" "%~dp0scrapy" %*
endlocal
有人能解释一下这个文件是干什么的吗?特别是这一行 "%~dp0..\python" "%~dp0scrapy" %*
。
2 个回答
2
你主要想知道 %~dp0
是什么意思;为了了解这一点,可以看看这个链接:%~dp0 是什么,它是如何工作的?(记得多搜索这些东西,搜索很重要哦。)
一旦你明白了 %~dp0
的意思,其他的就简单了。不过你可以通过把一个命令变成 echo
语句来更清楚地理解——比如 echo "%~dp0..\python" "%~dp0scrapy" %*
。这是在理解批处理文件时一个很实用的技巧;就像是穷人的变量检查。
至于 setlocal
和 endlocal
,你可以尝试 (a) 使用 help
命令和 (b) 发挥搜索的力量。
1
这是批处理语法。%0
是第一个参数,它表示当前批处理文件的路径名。~dp 是用来处理路径的,意思是驱动器和路径。实际上,它是从上一级文件夹(%~dp0..
)启动 Python,并加载 scrapy 模块。%*
的意思是把传递给批处理的其他参数也传递给脚本。