首页 > 一py文件中的中关于import的疑问?

一py文件中的中关于import的疑问?

描述问题

地址见: autojump-中的import (第86-90行)

摘录部分如下(line: 86-90)

import copy as _copy
import os as _os
import re as _re
import sys as _sys
import textwrap as _textwrap

from gettext import gettext as _

为什么要将系统包重命名那样,不是多此一举么?

我的理解, 作为Python开发者,一般来说:

  1. Python官方包也不算多

  2. 浸淫久了,自然耳濡目染耳熟能详,一般不会去重名(虽然理论上会)

  3. 用Python久了,导入哪个官方包,脑袋就会如同肌肉记忆一样

上下文环境

  1. Linux

  2. autojump


这里有答案:

Why are modules imported as _<name> in another module?

举个简单的例子,比如说有模块 a, b,其中

# a.py
import os as _os
# import os

def cur_cwd():
    print _os.getcwd()

另外,同目录下的模块 b.py 如下:

from a import * 
cur_cwd()
# print _os.getcwd()

b中不能使用 os,或者 _os 。如果在 a.py 中直接引入 os,那么 b.py 中就可以使用 os 了。


【热门文章】
【热门文章】