Python识别模块

时间:2016-11-10 09:40:00

标签: python module jython-2.7 sys.path

常规os.path.dirname(__file__)在我目前所处的特殊环境中无效。我希望这不会产生影响,但它是Jython 2.7。

text_dir = os.path.dirname(__file__)
NameError: global name '__file__' is not defined

如果我从函数内部调用os.path.dirname(__file__),它就可以正常工作。

版本1(有效)

bar.py

import os
def bar():
  location = os.path.dirname(__file__)
  return location

版本2(不起作用,见上面的NameError)

extension.py

import os
from some_tool import Extensions
class extended(Extensions):
  def foo():
    location = os.path.dirname(__file__)

知道为什么?它与Jython有关吗?或者因为它在class内?还是因为它有什么东西?

当前解决方法

extension.py

import bar
from some_tool import Extensions
class extended(Extensions):
    def foo():
        location = bar.bar()

1 个答案:

答案 0 :(得分:0)

以下答案适用于revision 1 of this question

它对我有用:

var elementPosition = document.getElementById('#myElement').offsetTop;
window.scrollTo(0, elementPosition);

$ pwd /tmp $ cat test.py import os; print(os.path.dirname(os.path.realpath(__file__))) $ python test.py /tmp 也适用于我。