Я искал, и это, кажется, простой вопрос без простого ответа.
У меня есть файл a/b/c.py, который будет вызываться с помощью python -m a.b.c. Я хотел бы получить значение a.b.c на уровне модуля.
USAGE = u'''\
Usage:
python -m %s -h
''' % (what_do_i_put_here,)
Поэтому, когда я получаю параметр -h, я показываю USAGE без необходимости фактически записывать фактическое значение в каждом script.
Нужно ли мне пройти через inspect, чтобы получить желаемое значение?
Спасибо.
EDIT: Как сказано, есть ответы (я искал), но не простые ответы. Либо используйте inspect, используйте traceback, либо манипулируйте __file__ и __package__ и выполните некоторую подстроку, чтобы получить ответ. Но ничего такого простого, как если бы у меня был класс в модуле, я мог бы просто использовать myClass.__module__, и я бы получил ответ, который я хочу. Использование __name__ (к сожалению) бесполезно, поскольку оно всегда __main__.
Кроме того, это в python 2.6, и я не могу использовать другие версии.