这是我的代码:
import ftputil
import urllib2
a_host = ftputil.FTPHost(hostname, username,passw)
for (dirname, subdirs, files) in a_host.walk("/"): # directory
for f in files:
if f.endswith('txt'):
htmlfile = open(f, 'r')
readfile = htmlfile.read()
我认为应该没问题,但我收到了错误
Traceback (most recent call last):
htmlfile = open(f, 'r')
IOError: [Errno 2] No such file or directory: u'readme.txt'
问题出在哪里?
答案 0 :(得分:2)
您无法使用本地文件等open
来读取远程文件。您需要先从远程主机下载文件。
for (dirname, subdirs, files) in a_host.walk("/"): # directory
for f in files:
if f.endswith('txt'):
a_host.download(f, f) # Download first
with open(f) as txtfile:
content = txtfile.read()
答案 1 :(得分:1)
您需要使用a_host.open
,而不是Python默认open
。
因此,相反:
htmlfile = open(f, 'r')
readfile = htmlfile.read()
此:
htmlfile = a_host.open(f, 'r')
readfile = htmlfile.read()