美文网首页
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