从 ftp python 下载文件
download file from ftp python
此 ftp 服务器上有一个名为 ftp://ftp.nass.usda.gov/quickstats/qs.crops_20210805.txt.gz
的文件
(日期通常是今天的日期,格式相同,周末是前一个星期五)
如何使用 python 列出文件并下载 url 中包含 crops_
的文件?
我试过这样做:
from ftplib import FTP
global ftp
ftp = FTP("ftp.nass.usda.gov")
ftp.login
ftp.retrlines('LIST')
但它要求我使用 user/pw 登录(不需要),如果我将站点更改为 "ftp.nass.usda.gov/quickstats/"
(该文件所在的目录),我得到:
gaierror: [Errno 11001] getaddrinfo failed
您没有正确调用 ftp.login
。您需要在末尾加上括号才能进行匿名登录并执行函数,否则您只是返回函数而不调用它
变化
ftp.login
至
ftp.login()
from ftplib import FTP
global ftp
ftp = FTP("ftp.nass.usda.gov")
ftp.login()
ftp.cwd('quickstats')
list = ftp.nlst()
for _ in list:
if 'crops' in _:
print(_)
这应该可以帮助您入门。杰西是对的,你错过了 ()
此 ftp 服务器上有一个名为 ftp://ftp.nass.usda.gov/quickstats/qs.crops_20210805.txt.gz
(日期通常是今天的日期,格式相同,周末是前一个星期五)
如何使用 python 列出文件并下载 url 中包含 crops_
的文件?
我试过这样做:
from ftplib import FTP
global ftp
ftp = FTP("ftp.nass.usda.gov")
ftp.login
ftp.retrlines('LIST')
但它要求我使用 user/pw 登录(不需要),如果我将站点更改为 "ftp.nass.usda.gov/quickstats/"
(该文件所在的目录),我得到:
gaierror: [Errno 11001] getaddrinfo failed
您没有正确调用 ftp.login
。您需要在末尾加上括号才能进行匿名登录并执行函数,否则您只是返回函数而不调用它
变化
ftp.login
至
ftp.login()
from ftplib import FTP
global ftp
ftp = FTP("ftp.nass.usda.gov")
ftp.login()
ftp.cwd('quickstats')
list = ftp.nlst()
for _ in list:
if 'crops' in _:
print(_)
这应该可以帮助您入门。杰西是对的,你错过了 ()