我已經構建了一個函數來創建一個字典並將其返回。該功能被稱爲get_values
和結構如下:將字典傳遞給另一個函數
def initiate_values(directory):
for file in glob.glob(os.path.join(directory, '*.[xX][lL][sS]')):
title = os.path.basename(file).lower()
if title == 'etc.xls':
wb = xlrd.open_workbook(file)
wb = wb.sheet_by_name(u'Sheet1')
get_values(file, wb)
def get_values():
info_from_etc = dict()
# build dict
return info_from_etc
它的工作原理,在其創建的字典,然後當我嘗試和打印,它打印正確的價值觀。但是,當我嘗試從另一個函數調用此函數get_values
時,字典將返回爲「無」。這是我的函數調用get_values
-
def packager():
info_from_etc = initiate_values()
print info_from_etC# this prints "None"
我是什麼錯誤在這裏做了,我怎麼會在這裏返回正確的字典 - 也就是說,一本字典,是不是None
。
此代碼返回字典就好了。您的真實代碼中還有其他內容。你爲什麼不發佈真實的代碼? – 2012-02-09 20:32:47
您向我們展示的內容似乎是正確的(除了顯而易見的錯字)。我想麻煩在於你沒有向我們展示過的東西。請構建最短可能的完整程序來演示問題,並在此處複製粘貼。欲瞭解更多信息,請參閱http://sscce.org/ – 2012-02-09 20:33:25
在這裏適合我。我懷疑這個代碼比這裏展示的更多。 – Keith 2012-02-09 20:35:27