200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python实现局域网内使用TCP服务器传输文件

python实现局域网内使用TCP服务器传输文件

时间:2018-09-03 11:36:47

相关推荐

python实现局域网内使用TCP服务器传输文件

文章目录

1.服务端主机搭建TCP服务2.客户端通过FTP链接访问服务端的文件3.python实现客户端从服务端下载数据

1.服务端主机搭建TCP服务

右键我的电脑——选择管理——右键用户——选择新建用户

创建完TCP用户后

打开控制面板——选择程序——启动或关闭windows功能——启动Internet Information Services

正在启动中……

启动IIS后重新打开计算机管理,会多出一个IIS管理器

服务端的TCP服务部署完成!

2.客户端通过FTP链接访问服务端的文件

现在我们在局域网内换一台主机(客户端),在浏览器中进行访问以下地址即可访问到服务端的TCP服务。

3.python实现客户端从服务端下载数据

若我们需要批量下载或上传数据等操作,可用Python的ftplib包实现

#!/usr/bin/python# coding=utf-8import osfrom ftplib import FTP # 引入ftp模块import loggingclass MyFtp:ftp = FTP()def __init__(self,host,port=21,timeout=10):try:self.ftp.connect(host,port,timeout)print('ftp connect success!')except:logging.warning('network connect time out')def login(self,username,pwd):#self.ftp.set_debuglevel(2) # 打开调试级别2,显示详细信息try:self.ftp.login(username,pwd)self.ftp_root = self.ftp.pwd()print('ftp login success!')except:logging.warning('username or password error')def downloadFile(self,srcpath,dstpath):srcDir, srcFileName = os.path.split(srcpath)dstDir, dstFileName = os.path.split(dstpath)os.chdir(dstDir) # 切换工作路径到下载目录print(srcDir)# 每次需要先切换到根目录 因为srcDir是相对路径 之前在之前的路径下切换会找不到路径self.ftp.cwd(self.ftp_root) try:self.ftp.cwd(srcDir) # 要登录的ftp目录except:with open('log.txt', 'a') as f:f.write('{} ftp.cwd err'.format(srcpath))return# self.ftp.cwd(srcDir) # 要登录的ftp目录self.ftp.nlst() # 获取目录下的文件file_handle = open(dstpath,"wb").write # 以写模式在本地打开文件self.ftp.retrbinary('RETR %s' % srcFileName,file_handle,blocksize=1024) # 下载ftp文件def close(self):#self.ftp.set_debuglevel(0) # 关闭调试self.ftp.quit()if __name__ == '__main__':ftp = MyFtp('172.16.7.127')ftp.login('','') # 输入账号密码root = ['./tcp_test/0001/aaa.txt','./tcp_test/0002/bbb.txt']for i in root:dstroot,dstimg = os.path.split(i)ftp.downloadFile(i,os.path.join('D:/code/getDataFromDB',dstimg))ftp.close()

这是运行结果:

文件已经从服务端下载到客户端的制定路径了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。