python ftp服务器_Python操作FTP服务器

# coding: utf-8

from ftplib import FTP

import time

import tarfile

import os

# !/usr/bin/python

# -*- coding: utf-8 -*-

from ftplib import FTP

class MyFTP():

def __init__(self,host, port,username, password):

ftp_ = FTP()

self.bufsize = 2048

ftp_.connect(host,port)

ftp_.login(username,password)

print("登录成功")

self.ftp=ftp_

#从ftp下载文件

def downloadfile(self, remotepath, localpath):

with open(localpath, 'wb') as fp:

self.ftp.retrbinary('RETR ' + remotepath, fp.write, self.bufsize)

self.ftp.set_debuglevel(0)

#从本地上传文件到ftp

def uploadfile(self, remotepath, localpath):

with open(localpath, 'rb') as fp:

self.ftp.storbinary('STOR ' + remotepath, fp, self.bufsize)

self.ftp.set_debuglevel(0)

def get_file_list(self,path="web/images"):

# 包含文件名的生成器

for file in self.ftp.nlst(path):

yield file

# 单例模式

myftp = MyFTP("ftp.****.com",290, "***", "****")

# 通过myftp.ftp获得ftp对象

if __name__ == "__main__":

with myftp.ftp:

# remotepath参数是远程服务器的目录绝对路径

# myftp.downloadfile(remotepath="/qiaoervip/web/images/5.jpg", localpath="5.jpg")

#调用本地播放器播放下载的视频

# ftp.nlst() # 获取目录下的文件

print(myftp.get_file_list())

print('web/images/2.jpg' in myftp.get_file_list())

print('web/images/2.jpg' in myftp.get_file_list())

# myftp.uploadfile(remotepath="/qiaoervip/web/images/5.jpg", localpath="5.jpg")

补充

#coding=utf-8

ftp登陆连接

from ftplib import FTP # 加载ftp模块

ftp = FTP() # FTP对象

ftp.set_debuglevel(2) # 打开调试级别2,显示详细信息

ftp.connect("你的IP", "port") # 连接的ftp sever和端口

ftp.login("user", "password") # 连接的用户名,密码

ftp.getwelcome() # 返回欢迎信息

ftp.cmd("xxx/xxx") # 进入远程目录

bufsize = 1024 # 设置的缓冲区大小

filename = "filename.txt" # 需要下载的文件

file_handle = open(filename, "wb").write # 以写模式在本地打开文件

ftp.retrbinaly("RETR %s"%filename, file_handle, bufsize) # 接收服务器上文件并写入本地文件

ftp.set_debuglevel(0) # 关闭调试模式

ftp.quit() # 退出ftp

# ftp相关命令操作

ftp.cwd(pathname) # 设置FTP当前操作的路径

ftp.dir() # 显示目录下所有目录信息

ftp.nlst() # 获取目录下的文件

ftp.mkd(pathname) # 新建远程目录

ftp.pwd() # 返回当前所在位置

ftp.rmd(dirname) # 删除远程目录

ftp.delete(filename) # 删除远程文件

ftp.rename(fromname, toname) # 将fromname修改名称为toname。

ftp.storbinaly("STOR filename.txt", file_handel, bufsize) # 上传目标文件

ftp.retrbinary("RETR filename.txt", file_handel, bufsize) # 下载FTP文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值