我有来自python的这段代码。
if _name_ == '_main_':
dir, file = os.path.split("myfile.csv")
out_dir = os.path.join(dir, "myoutput-{0}".format(os.environ['JOB_ID']))
我发现要理解最后一行并不容易,尤其是os.environ['JOB_ID']
部分。搜索后,这可能属于python的SGE游戏引擎。但是我注意到在python文件中,没有像" import sge"这样的语句。我很迷惑。有人可以帮忙吗?非常感谢您的时间和关注。
答案 0 :(得分:1)
环境变量通常是在启动python之前创建的变量,并且"传入"虽然没有明确地传递。这不是python特有的功能。在您拥有$SOMENAME
的任何位置的命令行上,这将引用一个名为" SOMENAME"的环境变量。例如,PATH
环境变量描述了shell在哪里查找要运行的程序。
这一切意味着您已经获得的这个程序期望一个名为JOB_ID的环境变量。您可以将JOB_ID设置为一个值并像这样运行python:
JOB_ID=my_job_id python my_python_file.py
如果你想在JOB_ID中添加空格,你必须在值部分附近加上引号。
关于python,os.environ['ENVIRONMENT_VARIABLE_NAME']
是访问名为" ENVIRONMENT_VARIABLE_NAME"的环境变量的python方式。