python實現FTP迴圈上傳檔案

2022-09-28 20:48:22 字數 2732 閱讀 7236

測試過程中,有時會用到ftp的資料流,或者需要使用ftp反覆上傳檔案,所以寫了乙個ftp迴圈上傳檔案的python**。

**如下:

#coding=utf-8

import sys

import os

from ftplib import ftp

from time import sleep

_xfer_file = 'file'

_xfer_dir = 'dir'

class transmitter(object): # 注意:遞迴上傳本地檔案或dirs到ftp伺服器

def __init__(self):

self.ftp = none

def __del__(self):

pass

def setftpparzdcmoams(self, ip, uname, pwd, port=21, timeout=60):

self.ip = ip

self.uname = uname

self.pwd = pwd

self.port = port

self.timeout = timeout

def initenv(self):

if self.ftp is none:

self.ftp = ftp()

程式設計客棧 print('### 連線ftp伺服器: %s ...' % self.ip)

self.ftp.connect(self.ip, self.port, self.timeout)

self.ftp.login(self.uname, self.pwd)

def clearenv(self):

if self.ftp:

self.f

print('### 斷開ftp伺服器: %s!' % self.ip)

self.ftp = none

def uploaddir(self, localdir='./', remotedir='./'):

if not os.path.isdir(localdir):

return

self.ftp.cwd(remotedir)

for file in os.listdir(localdir):

src = os.path.join(localdir, file)

if os.path.isfile(src):

self.uploadfile(src, file)

elif os.path.isdir(src):

try:

sewww.cppcns.comlf.ftp.mkd(file)

except:

sys.stderr.write('目錄存在 %s' % file)

self.uploaddir(src, file)

self.ftp.cwd('..')

def uploadfile(self, localpath, remotepath='./'):

if not os.path.isfile(localpath):

return

print('+++ 上傳 %s to %s:%s' % (localpath, self.ip, remotepath))

self.ftp.storbinary('stor ' + remotepath, open(localpath, 'rb'))

sleep(0.5)

try:

self.ftp.delete(remotepath)

except:

pass

# del file wh程式設計客棧en uploaded this file

# os.remove(localpath)

# sleep(1)

def __filetype(self, src):

if os.path.isfile(src):

index = src.rfind('\\')

if index == -1:

index = src.rfind('/')

return _xfer_file, src[index + 1:]

elif os.path.isdir(src):

return _xfer_dir, ''

def upload(self, src):

filetype, filename = self.__filetype(src)

self.initenv()

if filetype == _xfer_dir:

self.srcdir = src

self.uploaddir(self.srcdir)

elif filetype == _xfer_file:

self.uploadfile(src, filename)

self.clearenv()

if __name__ == '__main__':

srcdir = r'c:\users\administrator\downloads\ftp\smp'

transmitter = transmitter()

transmitter.setftpparams('10.44.0.2', 'admin', '123123')

while true:

transmitter.upload(srcdir)

sleep(4)

本文標題: python實現ftp迴圈上傳檔案

本文位址:

C 實現FTP上傳檔案

文末有獲取完整原始碼的路徑鏈結,在我的上傳資源裡也有完整 各位可不聽我巴拉巴拉,直接獲取 調優,嘿嘿。除錯過程中有問題,再看著我的博文,望能幫助到您。也願幫助到以後的我自己,那樣的話,我會很開心感激現在的自己。ftp位址 string ftpsvrip 10.192.xx ftp埠 int port...

VC實現FTP定時上傳檔案的實現

前不久,做了乙個小專案,用vc實現客戶端ftp定時上傳程式,其實是個比較簡單的程式,只是剛開始根本不知道vc還自帶ftp類,傻乎乎的自己寫了soket底層通訊,結果因為基礎知識不是很好,半途進展不下去,太複雜了,請教了高手才知道原來vc裡自帶ftp類,暈 下面就和大家共享一下自己的成果 做的也不是很...

FTP檔案上傳

是網上找的例子,原文找不到了。public class ftputils2 return 判斷是否登入成功 public boolean ftplogin else ftp伺服器連線回答 int reply this.ftpclient.getreplycode if ftpreply.isposi...