2017-06-29 179 views
0

實際上,我從前面的回答中找到了我的主要問題「獲取Python文件所在目錄的完整路徑」的解決方案:Find current directory and file's directory獲取包含Python文件的目錄的完整路徑

如果我運行我的整個腳本,換句話說,熱鍵F5,答案的下面的代碼運行良好。

import os 
dir_path = os.path.dirname(os.path.realpath(__file__)) 

但是,如果我只是選擇上述代碼的兩行並運行它,換句話說,熱鍵F9。然後,我會收到以下錯誤:

NameError: name '__file__' is not defined 

所以,如果有人碰巧知道爲何出現錯誤,請給出一個簡要的解釋。

非常感謝!

順便說一句,我用Spyder(Python 2.7)。

回答

0

在Spyder或任何交互式python過程中,常量__file__未定義。

當你運行整個腳本,Spyder的基本運行以下命令:

$ python script.py 

同時,如果您選擇了這兩行,它更像是第一次進入一個交互式的Python程序,然後解釋語句:

$ python 
Python 2.7.13 (default, Jun 12 2017, 17:25:44) 
[GCC 5.3.0] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> dir_path = os.path.dirname(os.path.realpath(__file__)) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name '__file__' is not defined 
>>> 

這就是區別。

+0

謝謝!現在清除。 – zlpython