2017-02-15 65 views
0

當我運行第一個函數時,它會輸出正確的URL。但是,當我運行第二部分時,它顯示一個錯誤,指出fullurl沒有定義。Python返回變量值的問題

任何人都可以幫助我嗎?

這裏是我的代碼:

def urlmaker(format_mtg): 
    fullurl = url + format_mtg.get() + "-constructed-league-" + date.get() #adds the users options to the url 
    print(fullurl) 
    return fullurl 

def htmltotxt(fullurl): 
    print(fullurl) 
    response = urllib.request.urlopen(fullurl) #requests the ability to open the website, which magic.wizards.com allows 
    html = response.read() #reads the html data from the open website 
    html = str(html) #saves the data as a string 
    make_lists(card_name_regex, card_number_regex, card_number_list, html) 
+5

請使用空格。 Python不收取每個字符。 –

+0

另外,顯示實際的完整錯誤和回溯。您發佈的代碼中沒有任何內容會導致該錯誤。 –

+2

您尚未顯示如何調用這些功能。請包括這一點。另外,請檢查您的縮進。 – roganjosh

回答

1

你沒有意見,並以適當的縮進和間距代碼:

def urlmaker(format_mtg): 
    fullurl = url + format_mtg.get() + "-constructed-league-" + date.get() 
    print(fullurl) 
    return fullurl 

def htmltotxt(fullurl): 
    print(fullurl) 
    response = urllib.request.urlopen(fullurl) 
    html = response.read() 
    html = str(html) 
    make_lists(card_name_regex, card_number_regex, card_number_list, html) 
  1. 粘貼必要的進口(即在所示代碼中使用的那些),至少應該導入urllib
  2. 您正在使用我們不知道的5個變量:urldate,card_name_regex,card_number_regex,card_number_listdate甚至可能不是一個變量,而是導入的東西。定義它們的值或給出一個示例值,以便我們可以重現您的錯誤。
  3. 您不顯示如何調用您的函數,因此我們不知道format_mtgfullurl參數的值。我可以推斷出你正在使用第一個函數的結果作爲第二個參數,但仍然在測量format_mtg
  4. 粘貼您正在收到的例外,以便我們可以幫助您。

沒有這4件事,我們找不到你的問題。