溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python3 os用來(lái)訪問(wèn)環(huán)境的方法

發(fā)布時(shí)間:2020-11-19 11:59:13 來(lái)源:億速云 閱讀:381 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)python3 os用來(lái)訪問(wèn)環(huán)境的方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

在路邊看到一個(gè)感興趣的事物,只有走近才能了解它的全貌,并進(jìn)行下一步的了解。在python中我們是為了找尋或者執(zhí)行某種指令,需要訪問(wèn)某個(gè)特定的環(huán)境。對(duì)于python3 os的內(nèi)容分享這兩天一直在進(jìn)行,今天小編同樣要為大家講解python3 os中,我們可以用來(lái)訪問(wèn)環(huán)境的辦法。

先來(lái)了解下os.environ是什么?

簡(jiǎn)單的說(shuō)就是可以根據(jù)一個(gè)字符串映射到系統(tǒng)環(huán)境的一個(gè)對(duì)象,在首次導(dǎo)入os模塊的時(shí)候已經(jīng)捕獲了系統(tǒng)的映射,可以通過(guò)os.environ進(jìn)行更改。

問(wèn)題:

用python寫(xiě)了一個(gè)安裝腳本,安裝完了后想永久配置環(huán)境,我選擇修改/etc/profile,然后修改完了后執(zhí)行os.system("source /etc/profile"),發(fā)現(xiàn)并沒(méi)有起作用。

修改/etc/profile 和執(zhí)行source都是寫(xiě)在python腳本里的,請(qǐng)問(wèn)有什么辦法能讓source指令執(zhí)行?

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 是一個(gè)外部命令,作用是打印這個(gè)進(jìn)程的所有的環(huán)境變量。os.environ 是 python 程序中用來(lái)訪問(wèn)自己的環(huán)境變量的方式。當(dāng)python中向os.environ中添加一個(gè)新的變量時(shí),python后續(xù)啟動(dòng)的子進(jìn)程也會(huì)繼承這個(gè)變量。所以,上面的代碼,env命令打印的輸出中,可以找到SOME_ENV_NAME。

感謝各位的閱讀!關(guān)于python3 os用來(lái)訪問(wèn)環(huán)境的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI