欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過python下載FTP上的文件夾的實(shí)現(xiàn)代碼

 更新時(shí)間:2013年02月10日 10:29:58   作者:  
使用python下載FTP上的文件夾的代碼,有需要的朋友不妨看看
復(fù)制代碼 代碼如下:

# -*- encoding: utf8 -*-
import os
import sys
import ftplib
class FTPSync(object):
    def __init__(self):
        self.conn = ftplib.FTP('10.22.33.46', 'user', 'pass')
        self.conn.cwd('/')        # 遠(yuǎn)端FTP目錄
        os.chdir('/data/')        # 本地下載目錄
    def get_dirs_files(self):
        u''' 得到當(dāng)前目錄和文件, 放入dir_res列表 '''
        dir_res = []
        self.conn.dir('.', dir_res.append)
        files = [f.split(None, 8)[-1] for f in dir_res if f.startswith('-')]
        dirs = [f.split(None, 8)[-1] for f in dir_res if f.startswith('d')]
        return (files, dirs)
    def walk(self, next_dir):
        print 'Walking to', next_dir
        self.conn.cwd(next_dir)
        try:
            os.mkdir(next_dir)
        except OSError:
            pass
        os.chdir(next_dir)
        ftp_curr_dir = self.conn.pwd()
        local_curr_dir = os.getcwd()
        files, dirs = self.get_dirs_files()
        print "FILES: ", files
        print "DIRS: ", dirs
        for f in files:
            print next_dir, ':', f
            outf = open(f, 'wb')
            try:
                self.conn.retrbinary('RETR %s' % f, outf.write)
            finally:
                outf.close()
        for d in dirs:
            os.chdir(local_curr_dir)
            self.conn.cwd(ftp_curr_dir)
            self.walk(d)
    def run(self):
        self.walk('.')
def main():
    f = FTPSync()
    f.run()
if __name__ == '__main__':
    main()

相關(guān)文章

  • python實(shí)現(xiàn)ModBusTCP協(xié)議的client功能

    python實(shí)現(xiàn)ModBusTCP協(xié)議的client功能

    Modbus TCP 是一種基于 TCP/IP 協(xié)議棧的 Modbus 通信協(xié)議,它用于在工業(yè)自動(dòng)化系統(tǒng)中進(jìn)行設(shè)備之間的通信,只要通過pymodbus或pyModbusTCP任意模塊就可以實(shí)現(xiàn),本文采用pymodbus,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Python logging模塊學(xué)習(xí)筆記

    Python logging模塊學(xué)習(xí)筆記

    這篇文章主要介紹了Python logging模塊,logging模塊是在2.3新引進(jìn)的功能,用來(lái)處理程序運(yùn)行中的日志管理,本文詳細(xì)講解了該模塊的一些常用的類和模塊級(jí)函數(shù),需要的朋友可以參考下
    2014-05-05
  • Python實(shí)現(xiàn)捕獲異常發(fā)生的文件和具體行數(shù)

    Python實(shí)現(xiàn)捕獲異常發(fā)生的文件和具體行數(shù)

    這篇文章主要介紹了Python實(shí)現(xiàn)捕獲異常發(fā)生的文件和具體行數(shù)。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-04-04
  • 關(guān)于Theano和Tensorflow多GPU使用問題

    關(guān)于Theano和Tensorflow多GPU使用問題

    這篇文章主要介紹了關(guān)于Theano和Tensorflow多GPU使用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-06-06
  • Python函數(shù)用法和底層原理分析

    Python函數(shù)用法和底層原理分析

    函數(shù)是可重用的程序代碼塊。函數(shù)的作用,不僅可以實(shí)現(xiàn)代碼的復(fù)用,更能實(shí)現(xiàn)代碼的一致性。一致性指的是,只要修改函數(shù)的代碼,則所有調(diào)用該函數(shù)的地方都能得到體現(xiàn),這篇文章主要介紹了Python函數(shù)用法和底層分析,需要的朋友可以參考下
    2022-12-12
  • python進(jìn)階教程之循環(huán)對(duì)象

    python進(jìn)階教程之循環(huán)對(duì)象

    這篇文章主要介紹了python進(jìn)階教程之循環(huán)對(duì)象,循環(huán)對(duì)象是這樣一個(gè)對(duì)象,它包含有一個(gè)next()方法,這個(gè)方法的目的是進(jìn)行到下一個(gè)結(jié)果,需要的朋友可以參考下
    2014-08-08
  • python適合人工智能的理由和優(yōu)勢(shì)

    python適合人工智能的理由和優(yōu)勢(shì)

    在本篇文章里小編給大家分享了關(guān)于python適合人工智能的理由和優(yōu)勢(shì)以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • python計(jì)算文本文件行數(shù)的方法

    python計(jì)算文本文件行數(shù)的方法

    這篇文章主要介紹了python計(jì)算文本文件行數(shù)的方法,涉及Python針對(duì)文本文件的讀取與行數(shù)統(tǒng)計(jì)相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • PyCharm的設(shè)置方法和第一個(gè)Python程序的建立

    PyCharm的設(shè)置方法和第一個(gè)Python程序的建立

    今天小編就為大家分享一篇PyCharm的設(shè)置方法和第一個(gè)Python程序的建立,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-01-01
  • Python input函數(shù)實(shí)現(xiàn)獲取鍵盤輸入的字符串流程講解

    Python input函數(shù)實(shí)現(xiàn)獲取鍵盤輸入的字符串流程講解

    這篇文章主要介紹了Python input函數(shù)實(shí)現(xiàn)獲取鍵盤輸入的字符串流程,input()是Python的內(nèi)置函數(shù),用于從控制臺(tái)讀取用戶輸入的內(nèi)容。input()函數(shù)總是以字符串的形式來(lái)處理用戶輸入的內(nèi)容,所以用戶輸入的內(nèi)容可以包含任何字符
    2023-01-01

最新評(píng)論