【发布时间】:2011-05-06 20:56:48
【问题描述】:
在导入这些模块后立即重新加载它们有什么可想象的点吗?这是我正在审查的代码,这让我想知道:
import time
import sys
import os
import string
import pp
import numpy
import nrrd
reload(nrrd)
import smooth as sm
reload(sm)
import TensorEval2C as tensPP
reload(tensPP)
import TrackFiber4C as trackPP
reload(trackPP)
import cmpV
reload(cmpV)
import vectors as vects
reload(vects)
编辑:我建议这可能会使创建 .pyc 文件的可能性更大,但有几个人指出这是第一次,每次都发生。
【问题讨论】:
-
不,
.pyc文件在模块首次导入时已经创建。请打一下写这篇文章的人,要么是因为编写了无用的令人困惑的代码,要么是因为他没有用大量 cmets 解释他的怪异黑客行为。此外,这些是一些可怕的模块名称。 -
我继承了这位程序员的相当一部分代码;当时他们对 python 还很陌生,所以我通常认为当我看到疯狂或非 Pythonic 的东西时,他们不知道 Python 是如何工作的——但我尽量小心地假设我总是知道得更好。变量名称通常非常短,并且有很多多余的换行符和不必要的
for i in range(len(list)):循环。