这可能是一个天真的问题,因为我是一个蟒蛇初学者,所以这里......
这有效......
import urllib.request
web=urllib.request.urlopen('ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2015/05/05/')
filelist=web.read().decode('utf-8').split('\r\n')
但这并不是
filelist=urllib.request.urlopen('ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2015/05/05/').read().decode('utf-8').split('\r\n')`
具体来说,它只是挂起,我必须取消命令或它返回一个列表,其中项目0是一个空字符串
如果我做了
,就会发生另一种奇怪的行为web=urllib.request.urlopen('ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2015/05/05/')
web.read() #dumps all the contents as expected
web.read() #now just displays b''
我猜这两行行为是相关的,read()
由于某种原因改变了基础对象。
显然,只使用以前的语法很容易,但我确定如果我不知道将来会发生什么事情,这将会让我想起未来的其他东西。上。