我需要在 Python 中进行这样的导出:
# export MY_DATA="my_export"
我尝试过这样做:
# -*- python-mode -*-
# -*- coding: utf-8 -*-
import os
os.system('export MY_DATA="my_export"')
但是当我列出导出时,“MY_DATA”不会出现:
# export
如何使用 Python 进行导出而不将“my_export”保存到文件中?
export
是直接向 shell 发出的命令(例如bash
),告诉它添加或修改其环境变量之一。您无法从子进程(例如 Python)更改 shell 环境,这是不可能的。
当你尝试时会发生以下情况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 ...
命令,然后它与您刚刚更改的环境一起被丢弃。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)