1樓:keyer
如果這個變數會變化,那可以放在檔案裡,每次改變時重寫檔案,每次需要時讀取檔案,這樣不管什麼時候執行程式都可以讀取了。不好的地方是,有個非同步訪問的問題,不過也有辦法解決。
2樓:KaiJ
ssh-agent, dircolors 等已經為我們提供了思路:把設定環境變數的 shell 命令寫到標準輸出。
所以 getenv.py 如下:
#!/usr/bin/env python2try:
# py3
from
shlex
import
quote
except
ImportError
:# py2
from
pipes
import
quote
path
='/TOOLS/Caden/linux/X64/ even spaces '
('export MYDATA={}'
.format
(quote
(path
)))然後
eval
$(./getenv.py)
&&echo
$MYDATA
即可驗證
3樓:
目前好想沒有直接能夠用python改變當前shell環境變數的方法python處理邏輯比較方便,但是修改環境變數只能在python腳步的子程序當中生效,並不能在shell程序生效。
所以目前我自己用的一種比較dirty的方法是:複雜的邏輯部分交給python指令碼實現,
#!/bin/env python
import
osimport
sys.....
複雜的邏輯處理,
比如在不同的專案目錄下設定不同的環境變數
.....
最後將這些設定保持到臨時檔案
"._py_env_cfg"
shell 指令碼只負責簡單的source(環境變數會在當前shell生效)
#!/bin/csh
python env_gen.py #生成臨時配置檔案"._py_env_cfg"
source ._py_env_cfg #source本質上是python 子程序向父程序shell 通過檔案方式通訊。
如果找到更優雅的通訊方法請告訴我
4樓:Cosmia Fu
寫/etc/profile /etc/environment之類的配置檔案然後重啟
從你的管理程序(你能控制環境變數的那個程序)啟動,子程序會繼承父程序的環境變數,但是沒有標準的方法(或者說我不知道)更改父程序和父程序開始的其他子程序的環境變數
5樓:黃哥
請參考1、修改 ~/.bashrc檔案
2、新增 export PATH=/usr/local/****/bin:$PATH
3、在終端執行 source ~/.bashrc試試這樣,將上面的寫成.sh 指令碼,再用subprocess 模組中的方法呼叫這個sh指令碼。
如何在 Linux 環境下利用 Python 監聽當前系統的滑鼠事件?
曾華山 linux下好辦,所有的裝置都當作檔案處理了,在 dev input 目錄下找到滑鼠對應裝置檔案讀出來即可。滑鼠裝置檔案是 dev input mice 讀3個位元組,三個位元組的值分別是 Button型別 X的相對位移 Y的相對位移 取Button的低3位 Button 0x07 0x01...
學習Python為啥要帶上Linux?
乙隻小恐龍 哇 不只是python,學啥都要帶上linux,我學swift的時候也順手帶上linux一起學得 linux是乙個工地,大家的生產環境都是上linux的乙隻小恐龍 ubuntu 倒逼你學習的系統 geek 應該反過來問學習linux 為什麼帶上py 因為py就是linux的潤滑油 lin...
如果要在 Linux 下學習 Python 語言,是不是最好裝雙系統?
黃哥 先安裝虛擬機器 virtualbox等 再在虛擬機上安裝ubuntu 等Linux。學習python php golang ruby最好是在Linux下學習。Python 初學者如何安裝VirtualBox 和Ubuntu。知乎專欄 1.Windows 2.Windows Linux虛擬機器 ...