python3 os如何用来访问环境?

python3 os如何用来访问环境?,第1张

python3 os如何用来访问环境

在路边看到一个感兴趣的事物,只有走近才能了解它的全貌,并进行下一步的了解。在python中我们是为了找寻或者执行某种指令,需要访问某个特定的环境。对于python3 os的内容分享这两天一直在进行,今天小编同样要为大家讲解python3 os中,我们可以用来访问环境的办法。


先来了解下os.environ是什么?

简单的说就是可以根据一个字符串映射到系统环境的一个对象,在首次导入os模块的时候已经捕获了系统的映射,可以通过os.environ进行更改。

问题:

用python写了一个安装脚本,安装完了后想永久配置环境,我选择修改/etc/profile,然后修改完了后执行os.system("source /etc/profile"),发现并没有起作用。

修改/etc/profile 和执行source都是写在python脚本里的,请问有什么办法能让source指令执行?

def config_sys_path(path):
if (check_is_config_path(path)):
print path + " has already been config"
return
f = codecs.open(env_file_path, 'a')
env_path = "export PATH=$PATH:" + path
f.write("n" + env_path)
if (path.find("GraphicsMagick") >= 0):
cpu_num = cpu_count()
f.write("nexport OMP_NUM_THREADS=" + str(cpu_num))
f.close()
run_shell("source " + env_file_path)


解决:

import os
os.environ['SOME_ENV_NAME'] = 'SOME_VALUE'
os.system('env')

env 是一个外部命令,作用是打印这个进程的所有的环境变量。os.environ 是 python 程序中用来访问自己的环境变量的方式。当python中向os.environ中添加一个新的变量时,python后续启动的子进程也会继承这个变量。所以,上面的代码,env命令打印的输出中,可以找到SOME_ENV_NAME。

看完文章小伙伴们会发现,我们是用os.environ解决source指令指令的问题,这也是不同知识一起使用的一种表现。更多Python学习推荐:PyThon学习网教学中心。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/3014488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存