python编写ftp客户端_Python 编写 FTP 客户端

本文只是简单的实现了文件的上传和下载功能import ftplib

import sys

#获取服务器的ip地址(如192.168.1.107),使用sys.argv可以从命令行参数里面获取

if len(sys.argv) < 2:

tmp = input("please input server address:")

sys.argv.append(tmp)

server_address = sys.argv[1]

#创建FTP实例,并显示欢迎界面

ftp = ftplib.FTP(server_address)

print(ftp.getwelcome())

#登录,输入服务器里添加过的用户名和口令

ftp.login('user', 'pass')

#文件上传

def upload(fname):

fd = open(fname, 'rb')

new_name = input("input new name:")

#以二进制的形式上传

ftp.storbinary("STOR %s" % new_name, fd)

fd.close()

print("upload finished")

#文件下载

def download(fname):

#构建文件的存储路径,这里用的是D盘,可以自行设置

new_path = "D:\\FTPdownload\\" + fname

fd = open(new_path, 'wb')

#以二进制形式下载,注意第二个参数是fd.write,上传时是fd

ftp.retrbinary("RETR %s" % fname, fd.write)

fd.close()

print("download finished")

def main():

#选择操作,上传、下载、退出

op = input("what do you want?(u/d/q)")

if op == "u":

#输入文件完整路径,必要时可以用绝对路径

fname = input("input the file of path:")

upload(fname)

elif op == "d":

fname = input("input the file name:")

download(fname)

else:

print("quit now!")

ftp.quit()

if __name__ == '__main__':

main()

附带一些 ftplib 库的相关操作:ftp.cwd(pathname) # 设置FTP当前操作的路径

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

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

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

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

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

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

ftp.rename(old_name, new_name) #将fromname改为toname

ftp.storbinary('STOR filename.txt',file_handel,[bufsize]) # 上传目标文件,最后一个参数可以不填

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值