2013-01-15 18 views
0

我是Python的新手,所以請耐心等待。我使用eclipse中的pyDev插件。有三個文件:在Python中創建和使用設置模塊

tool.py:

from gui import Tool_Window 
import wx 
import settings 

if __name__ == '__main__': 

    window = wx.App() 
    Tool_Window(None, settings.WindowHeader) 
    window.MainLoop() 

Tool_Window.py:

from Tool import settings 
import wx 

class Tool_Window(wx.Frame): 

def __init__(self, parent, title): 

    super(Tool_Window,self).__init__(parent, title = title) 

    self.SetDimensions(settings.WindowOpenX, 
         settings.WindowOpenY, 
         settings.WindowWidth, 
         settings.WindowHeight) 

settings.py:

WindowHeader = 'The SuperAwesome Tool' 
WindowOpenX = 500 
WindowOpenY = 100 
WindowWidth = 200 
WindowHeight = 400 

「tool.py」文件在「settings.py」文件中名爲「Tool」的包中,而「Tool_Window」在包「gui」中。

我從項目中的以前的文件中收到錯誤消息,現在已重命名爲「settings.py」。我曾嘗試在Eclipse中清理項目,但沒有任何反應。該錯誤信息是這樣:

Traceback (most recent call last): 
    File "/home/oystein/workspaces/python/awesome.tool/src/Tool/tool.py", line 8, in <module> 
    Tool_Window(None, settings.WindowHeader) 
    File "/home/oystein/workspaces/python/awesome.tool/src/gui/__init__.py", line 12, in __init__ 
    # ;-) 
AttributeError: class GeneralParameters has no attribute 'WindowParameters' 

以前我有一個名爲GeneralParameters一類與子類WindowParameters,因爲我想訪問靜態變量的設置。我介紹了Python無法做到這一點,並將其改爲「settings.py」文件。

我從運行「tool.py」節目

任何人都可以看看有什麼不對嗎?

+1

看起來代碼正在運行過時的字節碼。刪除該目錄中的'.pyc'文件並重新運行你的代碼。 –

+0

這是問題,謝謝!進口產品也有一些問題,但現在已經解決了。謝謝! –

+0

但是當重新運行項目時,Eclipse/Python不應該創建新的字節碼文件嗎?我也清理了這個項目,但顯然這沒有什麼區別。 –

回答

0

您正在運行陳舊的字節碼,刪除.pyc文件並重新運行您的代碼。

回溯從.py文件中讀取源文件,但是從字節碼構建而來,事實表明錯誤位於僅包含註釋的行上,這暗示事物不再同步。

通常,Python會在陳舊時清除.pyc文件,但只有在.py修改時間較新時纔會清理。