python3 os如何用来访问环境

811次阅读
没有评论

python3

在路边看到一个感兴趣的事物,只有走近才能了解它的全貌,并进行下一步的了解。在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指令指令的问题,这也是不同知识一起使用的一种表现。

 

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-26发表,共计1024字。
新手QQ群:570568346,欢迎进群讨论 Python51学习