我在Python模板语言(特别是Genshi教程)的说明中看到了这一点:
$ PYTHONPATH=. python geddit/controller.py geddit.db
我理解源脚本的含义,但我不明白将源脚本分配给变量的原因,在这里,“PYTHONPATH”。
正在运行. python
不起作用,但PYTHONPATH=. python
会起作用。
但test=. python
也是如此,所以我知道我PYTHONPATH
中的内容与它无关。
答案 0 :(得分:4)
你所看到的并不是你在想什么。 :)该命令不分配源文件甚至源文件。在bash中,你可以这样做:
ENVIRONMENT_VAR=VALUE command
这会将环境变量设置为值,然后使用修改后的环境执行命令。在调用之后,环境var将再次具有旧值。
因此上面的行只是将环境变量PYTHONPATH
设置为.
- 当前目录 - 并执行命令python geddit/controller.py geddit.db
答案 1 :(得分:2)
Bash允许您仅为一个呼叫分配环境变量。
$ VAR1=one VAR2=two someprogram param1 param2
在运行someprogram之前设置VAR1和VAR2。你的命令
$ PYTHONPATH=. python geddit/controller.py geddit.db
将PYTHONPATH设置为当前目录,以便可以导入当前目录中的.py文件然后运行" python geddit / controller.py geddit.db"