2012-10-12 64 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