在我們的代碼庫重新加載一個包,我們有ASCII
作爲默認編碼,我們需要將其更改爲UTF-8
,所以在每一個python腳本,我們有這樣的:從全球python腳本
if not (sys.platform.startswith("win")):
reload(sys)
sys.setdefaultencoding('utf-8')
我想這是在全局腳本,所以我創建了一個,並添加到所有的Python腳本
Globals.py
------------------------------------------------------------------------------
import os
import sys
if not (sys.platform.startswith("win")):
reload(sys)
sys.setdefaultencoding('utf-8')
...
我們在bash_rc
持有我們的項目的父目錄設置RIGHTIMPORT
變量,所有的腳本可以很容易找到相關的文件那個相對路徑。所以導入Globals.py
我添加下面的代碼到每個腳本:
import os
import sys
...
# gets the RIGHTIMPORT path and adds it to PATH variable
RIGHTIMPORT = os.popen("echo $RIGHTIMPORT").read()[:-1]
IMPORT_PATH = RIGHTIMPORT + "/import/"
sys.path.insert(0, IMPORT_PATH)
# adding global constants and configurations
from Globals import *
...
由於sys
包是用來插入RIGHTIMPORT
到PATH
它是從Globals
導入所有的包之前進口。
我的問題是在執行from Globals import *
後會不會重新加載sys
?由於ASCII
編碼很少發生,因此我無法確認它是否正常工作,因此係統無法正常工作。
感謝
不需要啓動子流程來收集環境變量。 'os.environ'是一個包含環境變量集的字典。 – VooDooNOFX