博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python全栈开发-有趣的小程序
阅读量:7029 次
发布时间:2019-06-28

本文共 1899 字,大约阅读时间需要 6 分钟。

进度条的打印

  import sys,time

  for i in range(20):
    sys.stdout.write('$')      #stdout是标准输出的意思,在一般电脑上,stdout的标准输出指的是计算机屏幕。
    sys.stdout.flush()
    time.sleep(0.1)

 

单线程下的并发运算:

import timedef consumer(name):    print("%s 准备吃包子啦!" %name)    while True:       baozi = yield       print("包子[%s]来了,被[%s]吃了!" %(baozi,name)) def producer(name):    c = consumer('A')    c2 = consumer('B')    c.__next__()    c2.__next__()    print("老子开始准备做包子啦!")    for i in range(10):        time.sleep(1)        print("做了2个包子!")        c.send(i)        c2.send(i)producer("gavin")

 

生成数字+字母的验证码的小程序

__author__ = "Gavin"

import random
checkcode=''
for i in range(5):
  current=random.randrange(0,5)
  if current == i:
    tmp=chr(random.randint(65,90))
  else:
    tmp=random.randint(0,9)
  checkcode+=str(tmp)
print(checkcode)

 

 

 

异步I/O写的SocketServer

使用协程的方式,执行效率极高

server side 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import 
sys
import 
socket
import 
time
import 
gevent
 
from 
gevent 
import 
socket,monkey
monkey.patch_all()
 
 
def 
server(port):
    
= 
socket.socket()
    
s.bind((
'0.0.0.0'
, port))
    
s.listen(
500
)
    
while 
True
:
        
cli, addr 
= 
s.accept()
        
gevent.spawn(handle_request, cli)
 
 
 
def 
handle_request(conn):
    
try
:
        
while 
True
:
            
data 
= 
conn.recv(
1024
)
            
print
(
"recv:"
, data)
            
conn.send(data)
            
if 
not 
data:
                
conn.shutdown(socket.SHUT_WR)
 
    
except 
Exception as  ex:
        
print
(ex)
    
finally
:
        
conn.close()
if 
__name__ 
=
= 
'__main__'
:
    
server(
8001
)

  

client side   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import 
socket
 
HOST 
= 
'localhost'    
# The remote host
PORT 
= 
8001           
# The same port as used by the server
= 
socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
while 
True
:
    
msg 
= 
bytes(
input
(
">>:"
),encoding
=
"utf8"
)
    
s.sendall(msg)
    
data 
= 
s.recv(
1024
)
    
#print(data)
 
    
print
(
'Received'
repr
(data))
s.close()

 

 

 

自己写的缓存系统

 

转载于:https://www.cnblogs.com/GavinSimons/p/7728535.html

你可能感兴趣的文章
Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
查看>>
郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(一))...
查看>>
python (ploit)
查看>>
Android 用achartengine 画折线图怎么显示不正确
查看>>
js 点击button跳转页面
查看>>
程序简单的测试与升级(暨实践第一次作业)
查看>>
数据的奇偶校验
查看>>
java 应用程序的打包发行
查看>>
信号处理
查看>>
浏览器调用摄像头
查看>>
socket,tcp,http三者之间的区别和原理
查看>>
【100题】第五十九题 用C++编写不能被继承的类
查看>>
轻描淡写
查看>>
mysql基本操作
查看>>
39.CSS3弹性伸缩布局【下】
查看>>
[javascript]图解+注释版 Ext.extend()
查看>>
我的前端工具集(七)div背景网格
查看>>
linux 下mongo 基础配置
查看>>
【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)...
查看>>
JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结
查看>>