技术文章 > Python技术 > Python基础 > 正文

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学习网教学中心


免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 python3 os中如何裁剪文件?
 使用python3 os后程序无法运行怎么办?
 python3 os运行后如何保存成txt?
 python3 os如何进行嵌套操作?
 python3 os如何在路径上调用?
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
推荐视频
视频教程分类