2012-10-12 37 views
0

可能重复:
os.path.dirname(__file__) returns empty蟒蛇2.7 os.path.dirname(__ FILE__)返回在Debian空字符串(Win7上正常工作)

这里是我的一段代码:

def GetAppPath(): 
    application_path = None 
    if getattr(sys, 'frozen', False): 
     application_path = os.path.dirname(sys.executable) 
    elif __file__: 
     application_path = os.path.dirname(__file__) 
    return application_path 

完全工作在Windows,但返回Debian的空字符串。任何想法可能是什么问题?

我使用Python 2.7.3,6.0.5的Debian

+2

你有没有想过加入打印语句来检查您输入与条件子句的分支? – mgilson

+3

http://stackoverflow.com/questions/7783308/os-path-dirname-file-returns-empty –

+0

你在根目录下运行呢? – hughdbrown

回答

1

好像__file__没有定义或定义错误,对我的作品在Debian测试的Python 2.7.3rc2

def GetAppPath(file): 
     application_path = os.path.dirname(file) 
     return application_path 

GetAppPath ( '的​​/etc/X11/xorg.conf')返回 '的/ etc/X11'

1

为我工作在Ubuntu 12.04/Python 2.7版:

import os.path 

print os.path.dirname(__file__) 

存放在/tmp/foo.py,然后运行它:

$ python /tmp/foo.py 
/tmp