Python Bash脚本:没有这样的文件或目录

Python Bash脚本:没有这样的文件或目录,python,bash,terminal,scrapy,cygwin,Python,Bash,Terminal,Scrapy,Cygwin,因此,我需要运行这个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

因此,我需要运行这个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
Inside run.sh:


检查\u imdb.py是否在run.sh文件夹中。

该文件在脚本中作为相对路径引用

python check_imdb.py movies.json
相对意味着它不指定以/开头的整个路径,而是相对于当前目录进行解释,您可以通过以下方式找到当前目录:

pwd
以/开头的路径称为绝对路径

重要的是要记住,脚本解释相对于当前目录的路径,而不是脚本所在的目录

您可以在运行脚本之前更改到脚本的目录,方法是:

cd /cygdrive/c/Python27/Scripts
但如果这样做,则需要在命令行上提供movies.json文件的绝对路径

更好的是,修改脚本以获得绝对路径:

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

该文件在脚本中作为相对路径引用

python check_imdb.py movies.json
相对意味着它不指定以/开头的整个路径,而是相对于当前目录进行解释,您可以通过以下方式找到当前目录:

pwd
以/开头的路径称为绝对路径

重要的是要记住,脚本解释相对于当前目录的路径,而不是脚本所在的目录

您可以在运行脚本之前更改到脚本的目录,方法是:

cd /cygdrive/c/Python27/Scripts
但如果这样做,则需要在命令行上提供movies.json文件的绝对路径

更好的是,修改脚本以获得绝对路径:

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