python初高级,python web,爬虫,分布式爬虫,数据分析,数据挖掘
import socket if __name__ == '__main__': # 创建udpsocket udp_socket = socket.socket(socket.AF_INET, socket.
当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。
1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: #coding=utf-8 from multiprocessing import Queue q=Queue(3) #初始化一个Queue对象,最多可接收三条put消息 q.
import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" while True: # 1.
flist = [] # 创建了一个空列表 for i in range(3): # 循环三次 def foo(x): # 定义三次函数 print (x + i) flist.
import socket import gevent from gevent import monkey monkey.patch_all() def cb_work(recv_num,send_num): while True: recv_data=list_client[recv_num][0].
import re str='sfafsf,34234234234,1231313132,37132719991123463x,sdefgr54184785ds85,' \ '4864465asf86845,372526198911233456' con = re.
import threading def sing(): print('进入sing -----------------') for i in range(3): print('进入sing循环 -----------------') l1.acquire() print('sing上锁 -----------------') print('唱歌。
客户端: import socket tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_socket.connect(('127.
这里让客户端给服务端发送的数据被服务端自动发回来 客户端: import socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: client_socket.
客户端: import socket if __name__ == '__main__': # 创建tcp客户端socket tcp_client_socket = socket.socket(socket.
import socket if __name__ == '__main__': # 创建tcp服务端socket tcp_server_socket = socket.socket(socket.
import socket # 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通。 # 而tcp不是,tcp发送和接受的是一个字符串,因为在进行通信前必须先建立好连接确定好了ip以及端口, # 所以不用在接受和发送的时候去特地的发送或者接受端口号和ip地址。
import turtle turtle.screensize(400, 300, "pink") turtle.setup(1000, 600) turtle.write('作者:好一朵玫瑰花 ', move = True, align = 'left', font = ('楷体', 16, 'normal')) # 设置初始位置 turtle.
from turtle import * a = Turtle() screensize(400, 300, "blue") setup(width=1300, height=650, startx=20, starty=20) a.
上一篇我们说了关于自排如果主键是0的问题,在这里我搞清楚了原因,导致这种情况是因为在SQL中对自排设置了初始值: 从这里可以看到这两个变量一个是自增的初始值,一个是增量,这里都是1,所以在设置自增的时候会把那个字段原来存在的所有0变成从1开始的步长为1的等差数列。
开始不设置主键 表的设计如下: 如果id的位置有好几个0的话:设置主键并且自动排序时,0会从1开始递增; Insert 进去 id = 0的数据,数据会从实际的行数开始增加,和从0变化不一样; 现在主键是没有0的,如果把某个id改成0的话,0不会变!直接会进行排序; ...
写这篇随笔的目的是我发现了在上一篇关于My SQL的随笔中存在一些不严谨的代码问题,在这里再次简单的总结一下并加以改进,以代码为主。 # !每行命令必须以分号(;)结尾 先通过命令行进入数据库客户端 mysql -h服务端ip地址 -P(大写)服务端使用的端口,一般为3306 -p(小写) 回车之后...
我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2lcyihjmzdgko.
1.安装mysql客户端流程: - 登录navicat官网下载 - 将压缩包拷贝ubuntu中进行解压,解压命令:tar zxvf navicat.tar.gz - 进入解压目录,运行命令.
VIM - Vi IMproved 7.4 编辑器操作汇总 vim [参数] [文件 ..] 编辑指定的文件 或: vim [参数] - 从标准输入(stdin)读取文本 或: vim [参数] -t tag ...
1. 快速启动终端:ctr+alt+t2. 终端字体放大: ctr+shift+'+'3. 终端字体缩小: ctr+'-'4. ls: 查看当前目录下文件信息 4.1 ls BD ABC 同时查看两个目录5.
首先关于在python中单线程,多线程,多进程对cpu的利用率实测如下: 单线程,多线程,多进程测试代码使用死循环。 1)单线程: 2)多线程: 3)多进程: 查看cpu使用效率: 开始观察分别执行时候cpu的使用效率: 1)单线程执行的时候: 2)多线程执行的时候: 3)多进程执行的时候: 总结: 1)单进程单线程时,对于双核CPU的利用率只能利用一个核,没有充分利用两个核。
import socket import re import os import sys # 由于前面太繁琐,可以用类封装一下,也可以分几个模块 class HttpServer(object): def __init__(self,port): # 1、服务器创建负责监听的socket self.
import socket import re import os def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 1、服务器接收客户端的请求报文 request = socket_con.
import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.
import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.
import socket # 建立socket对象 socket_con = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接指定服务器地址 socket_con.
1、网络本质 进行资源共享和信息传输。 2、基于网络的应用程序的本质 就是获取数据和传输数据给用户使用。 3、TCP/IP协议栈工作流程 实体层是不属于TCP/IP协议栈的一层。也就是说TCP/IP协议栈共计四层。
def FZZL(): print(" _ooOoo_ ") print(" o8888888o ") print(" 88 .
'''import pygame# 初始化pygame库,让计算机硬件准备pygame.init()# ----------窗口相关操作-----------# 创建窗口window = pygame.
rmonth = [0, 31, 29, 31, 30, 31, 30, 31,31, 30, 31, 30, 31] month = [0, 31, 28, 31, 30, 31, 30, 31,31, 30, 31, 30, 31] days = 0 def pd_days(y, m, d)...
class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.
'''集合的方法 set1.add() set1.update() set1.copy() set1.pop() set1.remove() set1.
# f.write() #字符串写入文件 # # f.writelines #将一串字符串写入文件。 该序列可以是生成字符串的任何可迭代对象,通常是字符串列表 # # f.read([size]) #默认读出文件中所有内容,可以指定size(字节) # # f.readline([size]) #默认每次读取一行,字符串中保留一个尾随的换行字符。
name = 'hello' for x in name: print(x) if x == 'l': break #退出for循环 else: print("==for循环过程中,如果没有break则执行==") name = 'hello...
'''字典的方法 d1.get() d1.setdefault() d1.pop() d1.popitem() d1.copy() d1.update() d1.
'''字符串的方法 s.index() s.rindex() s.find() s.rfind() s.count() s.replace() s.partition() s.
'''列表的方法 l.index() l.count() l.copy() l.insert() l.append() l.extend() l.
'''元组的方法 t.index() t.count() ''' # 元组由于不可更改元组里面的数据(第一层) # 所以元组可操作的方法比较少 t = (1,) # 单个元素,为了区分,加个逗号才叫元组 t1 = (3, 4, 'hello', [2, 3, 'ppp'], 3) print(t1[2]) n1 = t1.
# 函数的位置参数必须要传实参,可以按位置,也可以按关键字传 # 函数的默认参数可以不传实参,可以按位置,也可以按关键字 # 不定长参数*args只收集位置参数形成元组,不定长参数应放在后面,要不会把实参当做位置参数然后报错 # 用**,只要定义了关键字参数,以后针对这个参数传值就必须是关键字形式...
# 准备空列表 users = [] # 准备当前在线用户 online_user = {} while True: # 打印系统提示 print("欢迎使用 用户注册登录系统V2.
# 用户输入八位日期 date = input('请输入八位年月日(如20180405):') # 分割年月日 day = int(date[-2:]) month = int(date[4:6]) year = int(date[:4]) print(year, month, day) # 定义...
s = input("请输入一个字符串:") if len(s) > 31: print("您输入的字符串过长,请重新输入:") else: l = len(s) print("字符串的长度:%d" % l) print(s[::-1]) .
a = 'hello world' b = [] for i in a: if '%s:%s' % (i, a.count(i)) not in b: b.append('%s:%s' % (i, a.
name = input('请输入用户名:') password = input('请输入密码:') if 6
import random office = [[], [], []] teacher = ['t1', 't2', 't3', 't4', 't5', 't6', 't7', 't8'] for t in teacher: of = random.
i = 1 j = 1 while i
方法一 def prime(x): for i in range(2,x): if x%i==0: return False if i==x-1: return True output = filter(pri...
i = 1 sum = 0 while i