在我们的代码库中,我们将ASCII
作为默认编码,我们需要将其更改为UTF-8
,因此在每个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')
...
我们在RIGHTIMPORT
中设置了bash_rc
变量,该变量包含项目的父目录,所有脚本都可以轻松地从该相对路径中找到相关文件。因此,为了导入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
吗?我实际上无法确认它,因为系统工作正常,并且因为{{1}}编码很少发生而导致失败。
由于
答案 0 :(得分:1)
sys
将重新加载。我建议将条件更改为更频繁发生的事情,放入print
语句或两个,并查看是否重新加载。