2017-01-31 19 views
0

これを実行する必要があります。run.shファイルと私はできませんでしたウィンドウのデフォルトCMD。 だから私はCygwin64ターミナルをインストールし、それがacctualyファイルを読み込みますが、読書の終わりに、それはエラーをスパム:Bashスクリプト:そのようなファイルやディレクトリはありません

#!/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:run.shインサイド

$ /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 

.pyは内部run.shフォルダです。

答えて

2

ファイルは、スクリプト内で相対パスとして参照されます。

pwd 

パスで始まる:それは全体のパス(/で始まる)を指定していない、とあなたが見つけることができ、現在のディレクトリに相対的な解釈されていることを

python check_imdb.py movies.json 

相対的手段/は絶対値であると言われています。

重要なことは、スクリプトが存在するディレクトリではなく、現在のディレクトリを基準にしてパスを解釈することです。

あなたはと、それを実行する前に、スクリプトのディレクトリに変更することができます:

cd /cygdrive/c/Python27/Scripts 

しかし、あなたはそれを行うならば、あなたはあなたのmovies.jsonファイルにコマンドライン上の絶対パスを指定する必要があります。

python /cygdrive/c/Python27/Scripts/check_imdb.py movies.json 

いっそのこと、絶対パスを持っているようにスクリプトを変更

関連する問題