zoukankan      html  css  js  c++  java
  • core python

    一:正则表达式

    闭包操作符
    • | 等同于 or   exp:a|b|c          
    • . 匹配任意一个字符 (若匹配本字符,需转义使用 .   不能匹配换行符 及空字符串)   
    • (^:匹配首部【:匹配首部 B:匹配任意位置】  $:匹配尾部)
    • [abc]:匹配中括号内任意字符  ^置于首位表示不取该字符
    • -连接:表字符范围  exp: A-Z   0-9   
    • *:表示0次或多次  +:表示一次或多次  ?: 表示0次或1次
    • d:表十进制数字匹配    w:表字符数字的字符集匹配   s:表示空格字符匹配    (大写表取反
    • (?...)表示对匹配字符串进行筛选
     
    re.I :使匹配对大小写不敏感
    r:Python中字符串前面加上 r 表示原生字符串(rawstring)原因:阿斯克码值和特殊字符存在冲突
     
    #match:从起始部分对字符串进行匹配,匹配失败,抛出Attribute Error异常 (pattern,string)
    #search:从字符串任一位置进行匹配
    #findall:返回所有符合匹配的字段
    #sub/subn:用字符串替换匹配的字段,subn返回匹配个数
    group():返回匹配的字段、groups():以数组形式返回匹配字段
     

    二:网络编程

    套接字:通信端点  (基于文件【单机】和基于网络的【联机】)TCP:有连接(电话)  UDP:无连接(邮寄)
    socketServer:处理socket请求的多线程
    套接字设置阻塞模式和非阻塞模式:
    阻塞模式缺点:套接字线程较多时,通信较困难,扩展性较差
    非阻塞模式缺点:需要处理返回的阻塞错误    优点:多个连接,数据传送不平均,时间不定
    发送和接收数据时,需要进行加密解密
     #server.py
    1
    from socket import * 2 from time import ctime 3 4 HOST = '' #接收所有地址 5 PORT = 21567 6 BUFSIZE = 1024 7 ADDR = (HOST,PORT) 8 9 tcpSerSock= socket(AF_INET,SOCK_STREAM) 10 tcpSerSock.bind(ADDR) 11 tcpSerSock.listen(5) #最大连接数 12 13 while True: 14 print('waiting for connection') 15 tcpCliSock,addr = tcpSerSock.accept() 16 print('...connected from ',addr) 17 while True: 18 #接收数据解密 19 data = tcpCliSock.recv(BUFSIZE).decode() 20 if not data: 21 break 22 #发送数据加密 23 tcpCliSock.send(('[%s] %s' % (ctime(),data)).encode()) 24 tcpCliSock.close() 25 tcpSerSock.close()
    #client.py
    1
    from socket import * 2 HOST = '127.0.0.1' 3 PORT = 21567 4 BUFSIZE = 1024 5 ADDR = (HOST,PORT) 6 tcpCliSock = socket(AF_INET,SOCK_STREAM) 7 tcpCliSock.connect(ADDR) 8 9 while True: 10 data = input('>') 11 if not data: 12 break 13 #传送数据加密 14 tcpCliSock.send(data.encode()) 15 #接收数据解密 16 data = tcpCliSock.recv(BUFSIZE).decode() 17 if not data: 18 break 19 print(data) 20 tcpCliSock.close()

    三:客户端编程

    FTP:文件传输协议  (允许匿名用户登录) 底层使用两个套接字进行通信,包括命令端口和数据端口
    UseNet:全球电子公告板,基于UUCP协议传输(Unix——Unix)
    电子邮件系统
    MTA:消息传输代理,在交换主机上运行的服务器进程。为实现传送目的,需要确定两个目的,
    1.如何找到对接主机的MTA       由域名服务来查找目的域名
    2.如何进行通信                         统一SMTP(简单邮件传输)协议,通过MTS(消息传输系统)进行通信
    POPIMAP:客户端和服务端访问协议
  • 相关阅读:
    C/C++ volatile
    Linux fopen/fread/fwrite和open/read/write
    反思 承认失败,负重前行。
    算法和数据结构 打印回形矩阵
    Linux 软链接和硬链接
    数据库 CAS原理和ABA问题
    算法和数据结构 海量数据求前K个数
    算法和数据结构 冒泡排序
    java中的经典算法之选择排序(SelectionSort)
    【Java】常量、关键字、标识符、注释
  • 原文地址:https://www.cnblogs.com/bkyf/p/11394383.html
Copyright © 2011-2022 走看看