python3学习之路-高级篇
数据交换格式
csv格式
1.csv是用,分隔数据项的数据交换格式
2.引用:import csv
2.常用函数
csv.reader(csvfile,dialect=csv.excel/csv.excel_tab,csv.unix_dialect,**fmtparams) #读取csv,csvfile:文件路径,dialect:格式化参数,**fmtparams:单个格式化参数
csv.writer(csvfile,dialect=csv.excel/csv.excel_tab,csv.unix_dialect,**fmtparams) #写入csv
XML格式
1.xml是一种自描述的数据交换格式
2.示例:
<?xml version="1.0" encoding="UTF-8"?>
<note>
</note>
JSON格式
1.json是一种轻量级的数据交换格式
2.引用:import json
3,示例
{
"name":'111',
"age":111
}
["text","html"]
编码函数
json.dumps() #格式化为json数据格式,返回为字符串,
json.dump() #格式化为json数据格式,会存入到文件对象中
解码函数
json.loads() #将json字符串进行解析,对象解析为字典,数组解析为列表
json.load() #将json类型的文件,读取并解析
配置文件格式
1.配置文件分为:节和配置项
[node]
key=val
; 注释
2.引用:import configparser
3.读取:
confing=configparser.ConfigParser()
config.read(file,ecnoding='utf-8')
4.设置
config.add_section('node') #设置节
config.set('node',key,value) #设置配置项
Xpath格式
网页指定根节点到整个文档的格式
数据库编程
mysql数据库
1.使用pymysql库链接mysql
2.链接示例:
import pymysql
conn = pymysql.connect(host='localhost',user='root',password='123456',database='mydb',charset='utf8')
try:
with conn.cursor() as cursor:
sql='select/update/delete/insert 语句'
cursor.execute(sql)
conn.commit()/conn.fecthone()/conn.fecthall()/conn.fecthmany(size)
except pymysql.DatabaseErrot as e:
conn.rallback()
finally:
conn.close()
mogoDB数据库
网络编程
TCP协议
1.tcp soket 示例代码
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建tcp socket
s.bind() #绑定地址和端口
s.listen() #监听接口
s.accept() #等待连接
s.connect() #连接socket服务器
s.recv() #接收tcp socket数据
s.send() #发送tcp socket数据
s.sendall() #发送tcp socket数据
s.settimeout() #设置socket超时时间
s.close() #关闭socket
UDP协议
1.udp socket示例代码
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建udp socket
s.bind() #绑定地址和端口
s.recvfrom() #接收udp socket数据
s.sendto() #发送udp socket数据
s.settimeout() #设置socket超时时间
s.close() #关闭socket
http/https协议
1.示例代码
import urllib.request
url='http://www.csdn.net'
with urllib.request.urlopen(url) as re:
data = re.read()
html = data.decode()
图形界面编程
wxPython图形使用
安装:pip3 install -U wxPython
多线程编程
进程
线程
1.threading模块
import threading
t = threading.current_thread()
threading.active_acount() #当前处于活动状态的线程个数
threading.current_thread()#当前thread对象
threading.main_thread() #单枪主线程