我在 my 中定义了一个 bash 函数.bash_profile
,以便可以从任何目录运行某个 Python 脚本。我的功能是这样的:
func()
{
python -i ~/Scripts/script.py
}
./Scripts/script.py
它在我的主目录中运行得很好,但如果从其他任何地方运行它都找不到该目录。
错误信息是:
/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python:无法打开文件“Projects/sym.py”:[Errno 2]没有这样的文件或目录
最初不应该~
直接指向主目录吗?
答案1
从错误信息来看:
/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python:无法打开文件“Projects/sym.py”:[Errno 2]没有这样的文件或目录
您可以看到您~/Scripts/script.py
尝试使用相对路径引用另一个文件Projects/sym.py
。
当当前目录设置func
为不包含Projects/sym.py
.
如果您的目的是包含来自~/Projects/sym.py
您需要在 Python 代码中使用绝对路径的文件,或者~
在func
调用python
.