Shell 脚本文件 - 将多个参数传递给解释器

Shell 脚本文件 - 将多个参数传递给解释器

我有一个需要在特殊环境下执行的 Python 脚本,因此我将从我的工作目录 ( ~/project/src) 运行该程序:

python manage.py shell

这将打开一个交互式 shell,让我可以开始输入自己的命令。

我有另一组管理活动,希望将其存放在另一个目录中 ( ~/project/admin)。管理.py从工作目录运行确实很挑剔。因此,为了让整个过程正常工作,我编写了一个脚本,其开头如下:

#!/usr/bin/python ../src/manage.py shell

这种方法有几个问题。首先,它不起作用:

/usr/bin/python: can't open file '"/../src/manage.py" shell': [Errno 2] No such file or directory
  • 如何向解释器指定多个参数?
  • 我如何更改工作目录?

答案1

您只能为解释器指定一个参数。我认为您也不能在其中使用相对目录。

我建议您将您需要执行的操作包装在 shell 脚本或使用 Popen() 调用它的 Python 脚本中。

答案2

假设我猜测你处于 Django 环境中是正确的......

看看詹姆斯·班尼特的文章独立 Django 脚本。查看有关“使用 setup_environ()”的部分,其中提到这“正是 Django 自己的 manage.py 脚本处理设置的方式”。

有一个类似问题在 stackoverflow 上这可能也会对你有帮助。

相关内容