美文网首页
python工作笔记——Fwaterfall文件学习

python工作笔记——Fwaterfall文件学习

作者: 龙鹰图腾223 | 来源:发表于2020-07-01 09:25 被阅读0次

1、socket模块

socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

2、ftplib模块——ftp相关

https://www.cnblogs.com/xiao-apple36/p/9675185.html   python ftplib模块使用

ftp登陆连接

from ftplib import FTP            #加载ftp模块

ftp=FTP()                        #设置变量

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

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

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

print ftp.getwelcome()            #打印出欢迎信息

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

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

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

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

ftp.retrbinaly("RETR filename.txt",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文件

3、zmq模块

(如果你只是用Python调用一个用高度优化的C++语言写成的库,那么Python本身是快是慢就不重要了。)

ZeroMQ的订阅发布模式是一种单向的数据发布,当客户端向服务端订阅消息之后,服务端便会将产生的消息源源不断的推送给订阅者

Python zmq的三种简单模式

4、multiprocessing

multiprocessing包是Python中的多进程管理包。

与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程。

该进程可以运行在Python程序内部编写的函数。

该Process对象与Thread对象的用法相同,也有start(), run(), join()的方法。

multiprocessing提供了threading包中没有的IPC(比如Pipe和Queue),效率上更高。应优先考虑Pipe和Queue,避免使用Lock/Event/Semaphore/Condition等同步方式 (因为它们占据的不是用户进程的资源)。

多进程应该避免共享资源。在多线程中,我们可以比较容易地共享资源,比如使用全局变量或者传递参数。在多进程情况下,由于每个进程有自己独立的内存空间,以上方法并不合适。此时我们可以通过共享内存和Manager的方法来共享资源。但这样做提高了程序的复杂度,并因为同步的需要而降低了程序的效率。

Python中写多进程的程序,一般都使用multiprocesing模块。进程间通讯有多种方式,包括信号,管道,消息队列,信号量,共享内存,socket等。这里主要介绍使用multiprocessing.Manager模块实现进程间共享数据。

原文链接:https://blog.csdn.net/ctwy291314/java/article/details/89358144

5、multiprocessing.lock

如果多个进程对同一个共享变量做处理,会发生什么?应该会你抢过来处理一点,我抢过来处理一点,可以想象处理的结果很难控制和预测。所以需要lock锁,来保证一个进程完成之后,他所用的共享变量才可以被其他进程使用。

相关文章

网友评论

      本文标题:python工作笔记——Fwaterfall文件学习

      本文链接:https://www.haomeiwen.com/subject/pqtafktx.html