对不起,我对Python很新。我能够使用Python中的ftplib从FTP下载文件,但这就像我硬编码名称的文件名(R.pdf),这只下载(R.pdf),有没有办法下载FTP中扩展名为.PDF的所有文件使用Python发送到本地系统。我可以在Shell中使用* .pdf使用Python脚本从FTP下载.pdf文件
回答
与您的凭据, 并与它们要在下面的代码被下载, 的PDF文件的目录的地址“的public_html /马戏团”,它应该是好的,我更换主机,用户名和密码认为。
from ftplib import *
from os import listdir
from os.path import getsize
ftp_dt = FTP(host,user,password)
ftp_pi = FTP(host,user,password)
print '\n- Ouverture de connection et logging : OK'
ftp_dt.cwd('public_html/soleil')
ftp_pi.cwd('public_html/soleil')
def func(content, li = [0], la = [], si = [0], memname = ['']):
if name!=memname[0]:
memname[0],li[0:1],la[:],si[0:1] = name,[0],[],[0]
li[0] = li[0] + 1
si[0] = si[0] + len(content)
la.append(str(len(content)))
if li[0]%8==0:
print ' '.join(la) +\
' total: '+str(li[0])+' chunks, '+str(si[0])+' bytes'
la[:] = []
f.write(content)
li_files = []
for name in ftp_dt.nlst():
try:
ftp_dt.size(name)
if name not in ('.','..') and name[-4:]=='.pdf':
li_files.append(name)
except:
pass
if li_files:
for name in li_files:
print '\n- Downloading '+name
with open('E:\\PDF\\DOWNS\\'+name,'wb') as f:
ftp_pi.retrbinary('RETR '+name,func)
if getsize('E:\\PDF\\DOWNS\\'+name)==ftp_dt.size(name):
print ' OK ! Download of complete '+repr(name)+' SUCCEEDED'
else:
print ' FAILURE !! : '+name+' only partially downloaded'
else:
print '\nThere is no PDF file in this FTP directory'
ftp_dt.quit()
ftp_pi.quit()
两个CONNEXIONS ftp_dt和ftp_pi针对“数据传输”和“协议解释”限定,因为FTP协议是基于两个通道,一个用于命令和另一个用于.....你猜怎么了 ?
的FUNC()函数用作回调在fonction retrbinary()
这可能只是
def func(content):
f.write()
,但我打得有点用的默认变量的可能性一个函数。
有一件事我不明白得好:怎么能这样的代码工作,而在FUNC参考˚F()只在代码的文本FUNC()的定义之后定义。但我测试了它,它的工作原理!
我无法访问FTP
服务器我可以试试这个,但粗略看一下documentation表明这是不可能的。
如果我在FTP中获得PDF文件的详细信息,我可以使用for循环执行此操作。 A =('111.pdf','222.pdf','333.pdf','444.pdf') ftp = ftplib.FTP(“###。###。###。 ###“) ftp.login(”*********“,”***********“) ftp.cwd(”/ Dir“) for我答: 尝试: ftp.retrbinary( “RETR” + I,打开(我, 'WB')编写。) 除了: 打印 “错误” – Rakesh 2010-12-23 14:53:14
- 1. 使用python脚本从FTP位置下载目录/文件
- 2. Python脚本从FTP下载特定文件并更新下载目录
- 3. 使用CSV文件名从FTP或HTTP下载文件 - Python 3
- 4. 使用水壶从FTP下载文件
- 5. Python 2.5脚本连接到FTP并下载文件
- 6. 无法使用ftp脚本下载或上传文件
- 7. 从FTP下载xml文件
- 8. 使用python脚本从informer.com抓取和下载文件
- 9. 无法使用python脚本从URL下载csv文件
- 10. 如何从URL下载文件到脚本的ftp?
- 11. 发送xml文件从python脚本到php脚本下载
- 12. 使用shell脚本从ftp下载 - 查找所有子文件夹
- 13. Python - 下载pdf文件(非.pdf)url
- 14. 下载文件使用FTP条件stament
- 15. Shell脚本加载多个FTP文件
- 16. Python FTP“ERRNO 10054”顺序文件下载
- 17. FTP下载空白PDF vb.net
- 18. 使用Delphi IdFTP下载FTP文件
- 19. 使用php下载文件通过ftp
- 20. FTP使用PowerShell下载多个文件
- 21. 使用Python脚本从Outlook 2013下载附件
- 22. 使用Python脚本将文件夹从本地系统上传到FTP
- 23. 脚本从filesonic下载文件
- 24. 从Zip文件中下载PDF文件
- 25. 使用Python从框中下载文件
- 26. 使用Python从Blob URL下载文件
- 27. 使用python从网站下载文件
- 28. 从ftp下载文件不工作
- 29. Node.js从公共FTP下载文件
- 30. 从ftp下载csv文件与ruby sinatra
感谢队友,这是我一直在寻找的 – Rakesh 2010-12-23 14:52:23