免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: caesarok
打印 上一主题 下一主题

又谈FTP应用,SOS希望在不改变服务器配置基础上去找办法解决 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-02-12 19:20 |只看该作者
我说,你的问题解决了,我的问题还晾着呢。
你的程序试着上传个1,2G的文件看看会不会出问题啊。
我的程序传几M没问题,传几G就会卡住。

论坛徽章:
0
22 [报告]
发表于 2009-02-12 19:31 |只看该作者
传几G,那个可能受FTP服务器影响吧,你用第三方FTP客户端试过没?
你的代码发来看看,也好大伙共同帮看看,
我这里又出现新的问题了,
我上传能弄,下载用同样方式却出问题了,帮我看看吧,

  1. #-*-coding=gbk
  2. from ftplib import FTP
  3. import ftplib
  4. import sys,os,socket,time
  5. DIRN='/'
  6. host='192.168.1.128'
  7. port=22200
  8. #bufsize = 1024
  9. file = 'Result_%s.xls'% time.strftime('%Y%m%d')
  10. #filepath='/download/d.pdf'
  11. #filename= 'D:\\python\\2.pdf'
  12. #a=os.path.basename(filename)
  13. b=os.path.basename(file)
  14. #b=os.path.split(file1)
  15. #file_handler = open(filename,'rb')
  16. ftp=FTP()
  17. ftp.set_debuglevel(2)

  18. def main():
  19.         try:
  20.                 ftp.connect(host, port)
  21.         except (socket.error,socket.gaierror), e:
  22.                 print 'ERROR:cannot reach "%s"' % host
  23.                 return
  24.         print '"****connected to host "%s"' % host

  25.         try:
  26.                 ftp.login('iislog','passwd')
  27.                 print ftp.getwelcome()
  28.         except ftplib.error_perm:
  29.                 print 'ERROR,cannot login '
  30.                 ftp.quit()
  31.                 return
  32.         try:
  33.                 ftp.cwd(DIRN)
  34.         except ftplib.error_perm:
  35.                 print 'ERROR,cannot cd "%s" '% DRIN
  36.                 ftp.quit()
  37.                 return
  38.         try:
  39.                 ftp.set_pasv(False)
  40.                 print ftp.dir()
  41.                 print ftp.nlst()
  42.                 for x in ftp.nlst():
  43.                         if x == file :
  44.                                 print 'ok!!!!!'
  45.                                 file==x

  46.         except ftplib.error_perm:
  47.                 print 'ERROR,cannot dir "%s" '% DRIN
  48.                 ftp.quit()
  49.                 return
  50.        

  51.         #print filename,"uploading...."
  52.         print  file," downloading...."
  53.         try:
  54.                 #ftp.storbinary('STOR %s' % a, file_handler,bufsize) #上传文件
  55.                 ftp.retrbinary('RETR %s' % b, open(file, 'wb').write) #下载
  56.                
  57.         except ftplib.error_perm:
  58.                 #print 'ERROR: cannot read filename "%s"' % filename
  59.                 print 'ERROR: cannot read file %s' %file
  60.                 #os.unlink(filepath)
  61.                 ftp.quit()
  62.                 return
  63.         ftp.set_debuglevel(0)
  64.         #file_handler.close()
  65.         ftp.quit()
  66.         os.exit()
  67.         return

  68. #if _name_== '_main_':
  69. main()
复制代码

[ 本帖最后由 caesarok 于 2009-2-15 12:00 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
23 [报告]
发表于 2009-02-12 20:00 |只看该作者

论坛徽章:
0
24 [报告]
发表于 2009-02-13 15:37 |只看该作者

  1. #!/usr/bin/env python

  2. #author:Jims of [url]www.ringkee.com[/url]
  3. #create date: 2005/02/05
  4. #description: Using ftplib module download a file from a ftp server.

  5. from ftplib import FTP

  6. ftp=FTP()

  7. ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
  8. ftp.connect('192.168.0.33','21') #连接 ftp服务器的地址和端口
  9. ftp.login('administrator','admin') #登录,如果匿名登录则用空串代替即可

  10. print ftp.getwelcome() #显示ftp服务器欢迎信息
  11. ftp.cwd('111') #选择操作目录,在ftp服务器上的目录,里面有上传的文件
  12. bufsize = 1024 #设置缓冲块大小
  13. filename='d:\\cmd.txt'
  14. file_handler = open(filename,'wb').write #以写模式在本地打开文件
  15. ftp.retrbinary('RETR cmd.txt',file_handler,bufsize) #接收服务器上文件并写入本地文件
  16. ftp.set_debuglevel(0) #关闭调试

  17. ftp.quit() #退出ftp服务器
复制代码

[code]

[ 本帖最后由 caesarok 于 2009-2-15 11:59 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP