面向对象的高级用法1. __str__只要执行打印对象的操作,就会触发该对象类中的__str__方法(也就是对象的绑定方法)它是一种默认的方法,默认的打印输出为<__main__.Foo object at 0x003EE350>,但是如果将该绑定方法在类中重写的话,要求必须有以字符串类型的返回值,返回形式可以自己设定。class Foo:def__init__(self,name,age):self.name = nameself.age = agedef__str__(self):return‘name:%s age:%d‘ % (self.name,self.age...
本課主題RabbitMQ 的介紹和操作MySQL 的介紹Python 操作 MySQL API RabbitMQ 的介紹和操作 MySQL 的介紹操作 MySQL安装了 MySQL,修改以下配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,把 bind=127.0.0.1 改成特地的IP地址,就可以接受远端登入。CREATE USER ‘myuser‘@‘%‘ IDENTIFIED BY ‘mypass‘;
GRANT ALL ON *.* TO ‘myuser‘@‘%‘;
FLUSH PRIVILEGES;
EXIT;设置权限user@py-ubuntu:~$ mysql -u myuser -h 172...
1import threading2import time3 4#继承形式的多线程,适合于程序比较复杂的情况 5class MyThread(threading.Thread):6#t.start()会调用run函数,所以必须有个run方法 7#线程类内的其他方法除非run函数内部调用他们,否则不会被调用 8def run(self):9for i in range(3):
10 time.sleep(1)
11 msg="I‘m "+self.name+‘ @ ‘+str(i) #name属性保存当前线程的名字12print(msg)
1314if__name__==‘__main__‘...
本文代码转自廖雪峰老师的python教程网络编程底层其实就是一个socket,代表两台机器之间的一个连接。s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)AF_INET指定使用IPv4协议,SOCK_STREAM指定使用面向流的TCP协议提供服务的一方是服务端,服务端程序需要绑定(s.bind())一个端口,然后长期监听(s.listen())这个端口,收到消息(s.accept())后给予相应反馈。 反馈消息是通过新启动一个线程来实现的,这样就可以实现对同时刻...
注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》 本书中的许多例子关注的是从读取文件并查找数据,但在互联网中还有许多不同信息源。 本章我们将伪装成浏览器用超文本传送协议(HTTP)从网站获取网页,通读并分析它。12.1 超文本传送协议-HTTP 支撑网页运转的网络协议实际非常简单,在Python中内置了套接字(socket)模块,使得使用套接字创建网络连接并获取数据变得非常容易。 套接字最很...
1.线程 1.进程与线程进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上: 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了。 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工...
实现TCP
#!/usr/bin/env python3
# -*- coding: utf-8 -*-import socket# 创建一个socket:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立连接:
s.connect((‘www.sina.com.cn‘, 80))# 发送数据:
s.send(b‘GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n‘)# 接收数据:
buffer = []
while True:# 每次最多接收1k字节:d = s.recv(1024)if d:buffer.append(d)else:breakdata = b‘‘.join(...
[转载] https://blog.csdn.net/hu330459076/article/details/7868028 UDP服务器代码:#!/usr/bin/env python
# -*- coding:UTF-8 -*-from socket import *
from time import ctimeHOST = ‘127.0.0.1‘
PORT = 21567
BUFSIZE = 1024ADDR = (HOST,PORT)udpSerSock = socket(AF_INET, SOCK_DGRAM)
udpSerSock.bind(ADDR)while True:print ‘wating for message...‘data, addr = udpSerSock.recvfrom(BUFSIZE)udpSerSock.sendto(‘[%...
python提供了两个socket模块Socket,它提供了标准的BSD Sockets APISocketServer,它提供了服务器中心类,可以简化网络服务器的开发 下面先说socket模块 1、socket类型套接字格式:socket(family,type[,protocal]) 使用给定的地址、套接字类型、协议编号(默认为0)来创建套接字常用的套接字类型:socket.SOCK_STREAM 面向连接的,TCPsocket.SOCK_DGRAM无连接,UDP创建TCP Socket:s=socket.socket(socket.AF_INET,socket.SOCK_...
BOOTP实现 / BOOTP Implement目录BOOTP 的服务器建立过程BOOTP 的客户端建立过程 Note: 理论部分请参考文末相关阅读链接1 BOOTP 的服务器建立过程服务器建立步骤主要有:(1) 设定服务器IP,传送ip(offer_ip),服务端口68,客户端口67;(2) 建立send_socket/UDP,广播模式允许复用,绑定到服务器ip,客户端端口;(3) 建立主循环,建立recv_socket进行监听广播地址和客户端口;(4) Recv_socket进行广播接收,...
Python面试重点(进阶篇)注意:只有必答题部分计算分值,补充题不计算分值。第一部分 必答题简述 OSI 7层模型及其作用?(2分)应用层
表示层
会话层
传输层 端口 udp tcp 四层交换机 四层路由器
网络层 Ipv4 路由器 三层交换机
数据链路层 mac arp协议 网卡 交换机
物理层简述 TCP三次握手、四次回收的流程。(3分)# 1.三次握手是tcp协议建立连接的过程# 2.由客户端发起一个syn请求,服务端接收并回复 (syn\ack)# 客户端收...
In [1]: from netaddr import *In [2]: ip = IPAddress(‘172.16.100.39‘) ip.format()ip地址的格式化‘172.16.100.39‘ repr(ip)"IPAddress(‘172.16.100.39‘)" ip = IPNetwork(‘172.16.100.39/24‘)ip.networkIPAddress(‘172.16.100.0‘) ip.broadcastIPAddress(‘172.16.100.255‘) ip.ipIPAddress(‘172.16.100.39‘) ip.size256 ip.netmaskIPAddress(‘255.255.255.0‘) ip.hostmaskIPAddress(‘0.0.0.255‘)原文:http:/...
字符串(str)编码成字节码(bytes),字节码解码为字符串获取当前环境编码:sys.stdin.encodingurl编码urllib.parse.quote()url解码urllib.parse.unquote()列表去重:pages = list(set(pages))创建文件夹(可多级创建):os.makedirs(folder)
os.mkdir()只能单级创建首先分析网页(图虫网)的URL规律: 根网页地址形如: http://tuchong.com/tags/人像/?page=[1, 2, 3
...] 二级网页链接形如: href="http://t...
Python 提供了两个级别访问的网络服务。:低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。
高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。什么是 Socket?
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。socket()函数
Python 中,我们用 soc...
TCP/IPtcp编程Socket -- 表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型TCP连接中客户端主动发起连接 ,服务器响应连接。 创建一个TCP的客户端socketimport sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((‘ 80)) # 发送数据
s.send(b‘GET / HTTP/1.1\r\nHost:# 接收数据
buffer = []
while True:
d = s.recv(1024)
if d:
buffer...