向sys.path追加不存在的目录会出现什么问题?Python2无报错原因问询
原因分析
sys.path.append()本身不会对传入的路径做有效性校验
sys.path本质是Python解释器用于搜索模块的字符串列表,往列表中添加任意字符串都不会触发报错,无论该字符串对应的路径是否真实存在。只有当后续执行import导入模块的操作时,解释器才会遍历sys.path下的所有路径匹配目标模块,只要有一个路径下能找到对应模块即可正常运行,列表中存在无效路径完全不会影响程序执行。- 该路径属于项目预留配置项
这段代码里添加的packages路径大概率是项目的预留设计,比如用于存放后续扩展的自定义模块、或者本地调试场景下的私有依赖,当前版本的代码没有用到该目录下的任何模块,因此就算目录不存在,也不会触发任何导入报错。 - 补充说明:代码后两行
reload(sys)+ 设置默认编码的逻辑是Python2下解决全局中文编码异常的常用写法,和路径不存在未报错的问题无关联。
内容的提问来源于stack exchange,提问作者marlon
相关产品推荐
相关产品推荐

