开发者

Python imports issue

I have a Utilities module which defines a few functions which are repeatedly used and am also adding in some constants. I'm running into trouble importing these constants though...

Let's say I'm working in class A, and I have a class in my constants also named A

from Utils.Constants import A as DistinctA
class A(object):
    .... Implementation ....
    some_var = DistinctA.SOME_CONSTANT

class Utils(object):
  class Constants(object):
    class A(object):
      SOME_CONSTANT = "Constant"

I'm probably making this too much like Java, so if so just yell / smack my knuckles with a ruler.

When I attempt to import that class, 开发者_StackOverflowI get an error that there is no module named Constants. What's this python newbie missing?


The identifier after 'from' must point to a module; you can't refer to a class. While I'm not qualified to say whether your nested classes are 'pythonic', I have never seen it done like that before. I'd be more inclined to create a constants.py module that contains the A class. Then you could do this:

from constants import A as DistinctA

If you really want those constants to live inside utils, you could make utils a package:

utils/
utils/__init__.py
utils/constants.py

Then you can do:

from utils.constants import A as DistinctA
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜