2013-05-26 64 views
4

我是一名蟒蛇級別的業餘愛好者,我確信有一個簡單的解決方案。我試圖調用一個使用os.path.exists函數的模塊。如果我寫下面的東西,代碼運行良好。Python全局名稱'os'在調用模塊後不再定義

import os 
if os.path.exists('text.txt'): 
    print 'yes' 

不過,我得到這個錯誤:「NameError:全局名稱‘OS’沒有定義」時,我所說的模塊如下 -

import os 
import modutest 

modutest.test() 

該模塊,(我把它叫做modutest的.py)

def test(): 
    if os.path.exists('text.txt'): 
     print 'yes' 

回答

5

只要進口 'OS' 在modutest.py模塊,如下所示:

import os 
def test(): 
    if os.path.exists('text.txt'): 
     print 'yes' 

modutest.py是完全不同的文件,所以你必須導入'os'模塊。

+0

謝謝,這工作完美。所以我明白我必須在每個使用的模塊中單獨導入。 – etsu

+0

歡迎。是的,你必須進口。 – rajpy

+0

還有內置函數會自動導入,以查看這些函數使用dir(\ _ \ _ builtins \ _ \ _)。 – rajpy

相關問題