簡體   English   中英

TypeError(“模塊”對象不可調用)

[英]TypeError ( 'module' object is not callable )

我有兩個腳本。 腳本 1 的標題是schemeDetails 。第二個腳本是一個名為temporaryFile的測試腳本,它使用schemeDetails 中的schemeSetup 類創建一個schemeSetup 對象。 直到我嘗試訪問 schemeSetup 類中的方法 insertScheme 為止,一切都是笨拙的。

我已經使用以下命令導入了 schemeDetails 腳本:

import schemeDetails
reload(schemeDetails)
from schemeDetails import *

我可以創建 schemeDetails 對象並訪問它的屬性

d = schemeDetails.schemeSetup() -- fine
print(d.scheme) -- fine
d.insertScheme() -- throws error

但嘗試調用 insertScheme 函數會引發錯誤

我不知道為什么會發生這種情況,因為 import 語句在我看來是光明正大的。 任何建議表示贊賞

from sikuli import *
import os

class schemeSetup(object):
    #Uses default values
    def __init__(
        self,
        scheme = "GM",
        cardNumber = "1234567A",
        month = "December",
        year = "2015",
        setSchemeAsDefault = True):

        #Provide default values for parameters
        self.scheme = scheme
        self.cardNumber = cardNumber
        self.month = month
        self.year = year
        self.setSchemeAsDefault = setSchemeAsDefault
        #schemeDetails is not a sub
        # class of patient. It is simply defined within the patient class 
        # - there is a huge difference. 

#====================================================#        
        #schemeDetails Function
    def insertScheme(self):
        print("insertScheme Works")    
        #r = Regions()
        #r.description("Patient Maintenance", "schemeDetails")
        #myRegion = r.createRegion()
        #myRegion.highlight(1)  

        #click(myRegion.find(insertSchemeButton))
        #click(myRegion.find(blankSchemeEntry))
        #type(self.scheme + Key.ENTER + Key.ENTER)           
        #type(self.cardNumber + Key.ENTER)
        #type(self.month + Key.ENTER)
        #type(self.year + Key.ENTER)
        #type(" ")
        #unticks HT link, HT linking should be in a separate function

#====================================================#           
        #schemeDetails Function
    def editScheme(self):
        print("editScheme Works")

#====================================================#        
    def deleteScheme(self):
        pass
#====================================================#  

調用任何一個底部函數都不會產生錯誤可能很重要。 如果我將 print("Hello") 放在 editScheme 下,並使用 s.editScheme 調用該方法,程序編譯但我沒有得到任何輸出。 如果我運行 print(s.editScheme) 它返回 None

好吧,在將導入格式更改為此之后,它現在似乎已修復

    import schemeDetails 
    from schemeDetails import schemeSetup
    s = schemeDetails.schemeSetup()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM