雖然我specyfing變量作爲global
這樣的函數內部:Python不能看到全局變量
def SECdownload(year, month):
import os
from urllib.request import urlopen
root = None
feedFile = None
feedData = None
good_read = False
itemIndex = 0
edgarFilingsFeed = 'http://www.sec.gov/Archives/edgar/monthly/xbrlrss-' + str(year) + '-' + str(month).zfill(2) + '.xml'
return edgarFilingsFeed
#print(edgarFilingsFeed) #from the slides
if not os.path.exists("sec/" + str(year)):
os.makedirs("sec/" + str(year))
if not os.path.exists("sec/" + str(year) + '/' + str(month).zfill(2)):
os.makedirs("sec/" + str(year) + '/' + str(month).zfill(2))
global target_dir
target_dir = "sec/" + str(year) + '/' + str(month).zfill(2) + '/'
然後我輸入的功能,然後在Python UI(Windows)中運行它,就像這樣:
>>> from df import SECdownload
>>> SECdownload(2012,4)
爲什麼當我在這個殼類型變量target_dir
我得到:
>>> target_dir
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
target_dir
NameError: name 'target_dir' is not defined
這怎麼可能當我明確說明裏面的功能variable
是global
?
我會把'global target_dir'行放在函數聲明中......也許這就是問題 – ExoticBirdsMerchant
通過使用返回,你從執行中排除了一切。 – billpcs