栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python os.environ,os.putenv,/ usr / bin / env

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python os.environ,os.putenv,/ usr / bin / env

从文档:

注意: 直接调用putenv()不会更改os.environ,因此最好修改os.environ。

因为

unsetenv
有类似的警告:

但是,对unsetenv()的调用不会更新os.environ,因此实际上最好删除os.environ的项。

getenv
刚刚返回从价值
os.environ
,因为它的实施显示,所以通过使用它,你进入它似乎当你从蟒蛇看看它的值未设置,而它实际上可以是在真实环境中的状态。现在我能想到的唯一方法是使用ctypes调用c
getenv函数。

如果我修改您的代码以使用而

os.environ
不是调用
putenv
/
unsetenv
一切都按预期工作:

import osdef print_all():    print "os.environ['myname']=%s" % (os.environ['myname'] if 'myname' in os.environ else "None")    os.system('env | grep myname')    printdef delete_myname():    if 'myname' in os.environ: os.environ.pop('myname')print_all()os.environ['myname'] = 'csj2'print "---------------------"print_all()delete_myname()print_all()os.environ['myname'] = 'csj3'print "---------------------"print_all()delete_myname()print_all()

输出:

$ myname=somevalue python2 test.py os.environ['myname']=somevaluemyname=somevalue---------------------os.environ['myname']=csj2myname=csj2os.environ['myname']=None---------------------os.environ['myname']=csj3myname=csj3os.environ['myname']=None


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号