在python中自动清除import *语句

时间:2016-01-28 21:14:32

标签: python python-import

我正在使用python-2代码库,其中包含许多

形式的语句
from Util import *

这不是一个好习惯,所以我想用

替换它们
import Util

然后在必要时向变量/函数添加Util.前缀。

寻找需要添加前缀的所有位置将是一个艰苦的过程。我想知道是否有一种以自动方式做到这一点的好方法。

1 个答案:

答案 0 :(得分:0)

问题是很好地识别引用。如果您知道没有名称冲突(即 Util 符号与其他符号同名),那么您可以获取模块的目录并循环访问符号。正如您所说,完成该程序并添加 Util。

听起来你已经知道如何处理字符串扩充。您将获得如下模块的符号目录:

import random
for random_name in dir(random):
    ...

为了给你一个想法,这里是random_name值的列表:

BPF
LOG4
NV_MAGICCONST
RECIP_BPF
Random
SG_MAGICCONST
SystemRandom
TWOPI
WichmannHill
_BuiltinMethodType
_MethodType
__all__
__builtins__
__doc__
__file__
__name__
__package__
_acos
_ceil
_cos
_e
_exp
_hashlib
_hexlify
_inst
_log
_pi
_random
_sin
_sqrt
_test
_test_generator
_urandom
_warn
betavariate
choice
division
expovariate
gammavariate
gauss
getrandbits
getstate
jumpahead
lognormvariate
normalvariate
paretovariate
randint
random
randrange
sample
seed
setstate
shuffle
triangular
uniform
vonmisesvariate
weibullvariate