Python拓展11(os.environ獲取與設置系統變量)


os.environ獲取與設置系統變量 

1、簡介

  對於官方的解釋,environ是一個字符串所對應環境的映像對象。這是什么意思呢?舉個例子來說,environ['HOME']就代表了當前這個用戶的主目錄。

2、windows和ubuntu下的environ的key示例

2.1、Windows示例:

2.2、Linux示例:

2.3、Windows與Linux系統變量區別:

  os.environ[HOME]在linux中適用而在windows下面是沒有這個key的,在windows下是HOMEPATH,又比如linux下的USER在windows下面對應的就是USERNAME.

總結這些差異來說,他們都是各自系統的本身特性造成的,比如你用的是gnome版的ubuntu,那么key里面就會多出一條['GNOME_DESKTOP_SESSION_ID'].

3、key字段詳解:

3.1、Windows

os.environ['HOMEPATH']:當前用戶主目錄。
os.environ['TEMP']:臨時目錄路徑。
os.environ[PATHEXT']:可執行文件。
os.environ['SYSTEMROOT']:系統主目錄。
os.environ['LOGONSERVER']:機器名。
os.environ['PROMPT']:設置提示符。

3.2、Linux

os.environ['USER']:當前使用用戶。
os.environ['LC_COLLATE']:路徑擴展的結果排序時的字母順序。
os.environ['SHELL']:使用shell的類型。
os.environ['LAN']:使用的語言。
os.environ['SSH_AUTH_SOCK']:ssh的執行路徑。

4、用Python Shell設置或獲取環境變量的方法

4.1、設置系統環境變量

1、os.environ['環境變量名稱']='環境變量值' #其中key和value均為string類型

2、os.putenv('環境變量名稱', '環境變量值')

4.2、獲取系統環境變量

1、os.environ['環境變量名稱']

2、os.getenv('環境變量名稱')

5、使用小例子

  從一段code說起 “if "BATCH_CONFIG_INI" in os.environ:” 判斷環境變量的值有沒有定義,如果定義的話就去環境變量的值,否則就取當前目錄下的config.ini文件。

if "BATCH_CONFIG_INI" in os.environ:
            print "Using custom ini file!"
            self.inifile = os.environ["BATCH_CONFIG_INI"]
        else:
            self.inifile = self.cur_file_dir() + "/config.ini"
        self.db_print ("inifile = (%s)" %(self.inifile))

6、django 解決: You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.c

  在文件開始加上

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djblog.settings")

注意一定要加在load model.xxx之前

目的是為了任何一個django project中的*.py文件都能夠正常的使用項目中的數據模型操作 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM