所以,我需要运行这个 run.sh 文件,我无法使用Windows默认 CMD 。 所以我安装了 Cygwin64终端并且它确实读取了文件,但是在阅读结束时,它发出错误:
$ /cygdrive/c/Python27/Scripts/./run.sh
Starting scraper
Scrape complete, checking movies with imdb
C:\python27\python.exe: can't open file 'check_imdb.py': [Errno 2] No such file or directory
在 run.sh :
内#!/bin/bash
echo "Starting scraper"
scrapy runspider cinema_scraper.py -t json --nolog -o - > "movies.json"
echo "Scrape complete, checking movies with imdb"
python check_imdb.py movies.json
check_imdb.py位于run.sh文件夹中。
答案 0 :(得分:3)
该文件在脚本中作为相对路径引用。
python check_imdb.py movies.json
相对意味着它没有指定整个路径(以/开头),而是相对于当前目录进行解释,您可以通过以下目录找到:
pwd
以/
开头的路径被认为是绝对的。
重要的是要记住脚本解释相对于当前目录的路径,而不是脚本所在的目录。
您可以在运行前更改脚本目录,其中包含:
cd /cygdrive/c/Python27/Scripts
但是如果你这样做,那么你需要在movies.json
文件的命令行上提供一个绝对路径。
更好的是,修改脚本以获得绝对路径:
python /cygdrive/c/Python27/Scripts/check_imdb.py movies.json