常规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()
答案 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
也适用于我。