- 博客(28)
- 收藏
- 关注
原创 python中socket server
SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求的Socket服务端。即: 每个客户端请求连接到服务器时,Socket服务端都会在服务器是创建一个“线程”或者“进 程” 专门负责处理当前客户端的所有请求。1.ThreadingTCPServer -----------(for threading)ThreadingTC...
2018-04-24 18:29:46 324
原创 python中put/get , put_nowait/get_nowait
转载自:https://www.cnblogs.com/itogo/p/5635629.htmlput(item[, block[, timeout]])将item放入队列中。如果可选的参数block为True且timeout为空对象(默认的情况,阻塞调用,无超时)。如果timeout是个正整数,阻塞调用进程最多timeout秒,如果一直无空空间可用,抛出Full异常(带超时的阻塞调用)。如果bl...
2018-04-24 16:51:02 7157
转载 python socket函数中,send和sendall的区别和使用方法
转载自:http://www.cnblogs.com/alan-babyblog/p/5260156.html#socket.send(string[, flags]) 发送TCP数据,返回发送的字节大小。这个字节长度可能少于实际要发送的数据的长度。换句话说,这个函数执行一次,并不一定能发送完给定的数据,可能需要重复多次才能发送完成。例子:12345data = "something you w...
2018-04-24 15:47:05 2551
原创 python中真正关闭socket的方法
close方法可以释放一个连接的资源,但是不是立即释放,如果想立即释放,那么在close之前使用shutdown方法shut_rd() -------关闭接受消息通道shut_wr()--------关闭发送消息通道shut_rdwr()-------连个通道都关闭使用:在close()之前加上shutdown(num)即可 [shut_rd(), shut_wr(), shut_rdwr()分...
2018-04-24 15:37:49 16793 1
原创 python中dict和json区别
1.json 和 字典 区别>>>import json>>>json.dumps({1:2})>>>'{"1":2}'-------------------->>>{1:2}>>>{1:@}其中字典的格式是字典,json的格式是字符串,在传输的时候用的是字符串,所以如果要传输字典
2018-04-24 10:31:23 3543
转载 子网掩码、最大主机、最大子网数的计算
1、利用子网数目计算子网掩码 把B类地址172.16.0.0划分成30个子网络,它的子网掩码是多少? ①将子网络数目30转换成二进制表示11110 ②统计一下这个二进制的数共有5位 ③注意:当二进制数中只有一个1的时候,所统计的位数需要减1(例如:10000要统计...
2018-04-23 16:01:09 6119
转载 python中struct模块/binascii模块/ctypes模块
储备知识点: 1. unsigned 无符号 signed有符号 eg : signed int : -128---127 unsigned int : 0 --- 255 、 2.b...
2018-04-23 10:04:52 683
原创 http和tcp以及socket简单理解
储备知识: 无状态:指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。-----------------------------tcp: 传输层协议 http:应...
2018-04-19 12:48:11 97
原创 linux下的tar和rar以及zip(一部分)
常用参数-v : 显示所有过程-f : 使用档案名字,这个参数只能是最后一个参数,后面只能接档案名-r: 向压缩归档文件末尾追加文件 (eg: tar -rf all.tar *.gif 将所有.gif的文件增加到all.tar的包里面去)-t: 查看内容-u:更新文件A: 压缩 -c : 建立压缩档案B: 解压 -x: 解压 -z: 有gzip属性的 ...
2018-04-19 09:39:53 920
转载 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
结果终端提示:无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”解决办法如下:1.终端输入 ps -aux ,列出进程,找到含有apt-get的进程,直接sudo kill PID解决。2.强制解锁--命令:sudo rm /var/cache/apt/archives/l...
2018-04-18 16:59:36 72
转载 mysql中on delete cascade和on update cascade级联操作
数据库外键定义的一个可选项,用来设置当主键表中的被参考列的数据发生变化时,外键表中响应字段的变换规则的CREATE TABLE buildings ( building_no INT PRIMARY KEY AUTO_INCREMENT, building_name VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL)ENGI...
2018-04-15 21:02:26 1805
原创 mysql之索引
mysql索引:雖然索引大大提高了查詢速度,同時會降低更新表的速度,如對表進行insert,update和delete.因爲更新表時,mmysql不僅要保存數據,還要保存一下索引文件(該文件保存了主鍵和索引字段),索引建立過多會佔用磁盤空間的索引文件分類1:單列索引和組合索引分類2: 普通索引---唯一索引----主鍵索引----組合索引----全文索引(該索引只能用於myisam)創建索引: ...
2018-04-15 15:55:34 96
转载 mysql中三範式
1NF:原子性,即字段不可以再分。2NF:唯一性,不可以把多种数据保存在同一张表中,即一张表只能保存“一种”数据。不符合第二范式的表:学号, 姓名, 年龄, 课程名称, 成绩, 学分; 可能会存在问题:数据冗余,每条记录都含有相同信息; 删除异常:删除所有学生成绩,就把课程信息全删除了; 插入异常:学生未选课,无法记录进数据库; 更新异常:调整课程学分,所有行都调整。 正确做法: 学生:Stude...
2018-04-15 15:31:34 106
转载 linux命令之ln
(一般的話創建一個軟鏈接,因爲軟鏈接空間佔用極少,但是還是能通過軟鏈接訪問到源文件)1.軟鏈接和硬鏈接A:軟鏈接 軟鏈接類似於window操作系統中的快捷方式(僅佔據少量空間) 軟鏈接可以跨文件系統,硬鏈接不可以 軟鏈接可以對一個不存在的文件名進行鏈接 軟鏈接可以對目錄進行鏈接B:硬鏈接 硬鏈接以文件副本的形式存在,同樣佔空間(空...
2018-04-14 11:12:05 158
原创 linux中shell之-----輸入輸出///衝定向
1.輸出重定向echo "你好" > filename [將內容覆蓋filename文件]echo "你好" >> filename [以追繳方式寫到filename文件中]2.輸入重定向wc -l users [得到users文件一共多少行]這裏也可以使用輸入重定向 wc -l < userswc -l < text2.txt > log.t...
2018-04-11 15:02:01 98
转载 linux的shell中使用一個shell去執行另一個shell
http://www.runoob.com/linux/linux-shell-include-file.html被包含的腳本文件 不需要可执行权限
2018-04-11 12:24:35 134
转载 linux中shell----function
1.沒有return 時#!/bin/shdemoFun(){ echo "this is my first shell function"}demoFun #表示調用這個函數echo "----函數執行完畢"2.在function中使用return 語句funWithReturn(){ echo "this function is to .." echo "input th...
2018-04-11 12:23:06 2656
原创 linux腳本之循環控制
1.if2.whilewhile read FILMdo echo 'afa'done---------a=0while true #或while : do echo "$a" a=`expr $a + 1` done3.forfor loop in 1 2 3 4 5 do echo "$loop"done---------for str in "this ...
2018-04-11 11:10:27 179
原创 linux腳本之echo
1.-e 扮演了轉義字符反斜線的翻譯器eg: echo -e "tecmint \b is \ba \bcommunity" ['\b'會刪除字符間的所有空格][如果在終端上 使用echo,需要加上-e, 如果是通過./shell.sh執行,那麼不要寫上-e]2.-n 會在echo完成後不會輸出新行\c [抑制輸出後面的字符並且最後不會換新行]echo * [打開所有文件和文件夾] ...
2018-04-11 10:54:55 173
原创 linux腳本之echo////printf////test等命令
1.echoecho "\"it is a test\"" #"it is a test" #如果直接要使用轉義,就使用echo -e "ok! \n"# echo "it is a test" >> /home/xxc/桌面/text.txt #將內容寫道指定文件中echo `date` [顯示日期]2.printf%c %d %f %s 分
2018-04-09 12:23:39 168
原创 linux腳本之變量-字符串////運算符
經過測試:== 沒用,而是應該使用= ,同時也可以使用 if [ $a -eq $b]或!=來實現==作用1.變量a='hello world'echo $a 或 echo "$a" [前面兩種情況加不加{}都行,${a}]2.單引號和雙引號單引號中內容全部原樣輸出(也就是在單引號中使用轉儀字符和變量是無效的)雙引號中能使用變量和轉義字符3.傳入變量 #!/bin/sh echo "diyig...
2018-04-09 11:48:02 263
原创 linux腳本學習歸納
#!/bin/sh 在ubuntu中就是#!/bin/bash1.格式:#-----while 循環if [];thenelif [];thenelsefi#----重定向--------------------echo | grep '^echo' text.txt >> text2.txt echo 'safasdfa' >> text2.txt echo...
2018-04-09 09:25:51 107
转载 scrapy學習
1.常用命令scrapy -h #查看scrapy 命令有哪幾種tree projectname #查看項目樹結構scrapy list #列出當前項目中所有可用的spiderscrapy edit spidername #修改spiderscrapy genspider -t basic spider_csdn csdn.net #使用basic模板在spiders文件夾下創建sp...
2018-04-06 14:45:18 123
转载 python中協程
參考:https://www.zhihu.com/question/24807364生成器函數: a,b = 0,1 yield b for x in range(n): ...
2018-04-05 10:22:52 99
原创 python中协程
定義:不用使用多線程或多進程,就可以實現多任務。優點:執行效率極高,因爲程序的切換不是由線程切換,而是由自身控制,因此沒有線程間切換的開銷,線程越多,效率越明顯。攜程是一個單線程,要利用多核cpu,繼續要使用多進程+攜程,Python對攜程的支持是通過生成器來支持的。#---------------------next()和yield()之間進行切換import timedef A(): ...
2018-04-03 11:56:11 134
转载 multiprocessing.Queue()和queue.Queue()的区别
from multiprocessing import Pool, Process, Queue # from Queue import Queuequeue.Queue是进程内非阻塞队列,multiprocess.Queue是跨进程通信队列。1.from queue import Queue 这个是普通的队列模式,类似于普通列表,先进先出模式,get方法会阻塞请求,直到有数据get出...
2018-04-02 17:26:36 12100
原创 multiprocessing.Pool
from multiprocessing import Poolp = Pool()那么,进程池中能同时运行的进程数取决于cpu数量但是如果是p = Pool(5)那么进程池中能同时运行的进程数就是5个
2018-04-02 11:12:21 113
原创 python中multiprocessing.Manger()支持类型
1.作用multiprocessing.Manger() 用于多进程间共享变量2.支持存储类型‘Manager支持的类型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和Array。from multiprocessing import Process,Managerdef ...
2018-04-02 10:26:59 1991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人