这篇文章给大家分享的是有关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。
感谢各位的阅读!关于python3 os用来访问环境的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。