我需要用Python进行如下导出:
# export MY_DATA="my_export"
我试着做:
# -*- python-mode -*-
# -*- coding: utf-8 -*-
import os
os.system('export MY_DATA="my_export"')
但当我列出导出时,"我的_数据"不会出现:
# export
如何使用Python进行导出而不将"my_export"保存到文件中?
我需要用Python进行如下导出:
# export MY_DATA="my_export"
我试着做:
# -*- python-mode -*-
# -*- coding: utf-8 -*-
import os
os.system('export MY_DATA="my_export"')
但当我列出导出时,"我的_数据"不会出现:
# export
如何使用Python进行导出而不将"my_export"保存到文件中?
export
是您直接给shell(例如bash
)的一个命令,告诉它添加或修改其中一个环境变量.您不能从子进程(如Python)更改shell的环境,这是不可能的.
下面是当你try os.system('export MY_DATA="my_export"')
次时发生的事情...
/bin/bash process, command `python yourscript.py` forks python subprocess
|_
/usr/bin/python process, command `os.system()` forks /bin/sh subprocess
|_
/bin/sh process, command `export ...` changes its local environment
当最底层的/bin/sh
个子进程完成运行export ...
命令时,它将被丢弃,以及您刚刚更改的环境.