Python教程

Python3.31

本文主要是介绍Python3.31,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

OS实战:

os是针对路径的处理  是一个库

import os
# 获取当前路径
print(os.getcwd())

# 获取目录下的所有文件和文件夹
for item in os.listdir(path=os.getcwd()):
 print(item)

# 获取文件和目录的详细信息
print(os.stat('c:'))

# 获取当前路径
print(os.path.dirname(__file__))

# 获取当前路径的上一个路径
print(os.path.dirname(os.path.dirname(__file__)))

# 基础路径
base_dir=os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
# 获取这个login.txt文件的路径
filePath=os.path.join(base_dir,'data','login.txt')
print(base_dir)
print(filePath)

# 获取了一个filePath(一个文件的路径)打开读取里面的内容
with open(filePath,'r',encoding='utf-8')as f:
    print(f.read())

base_dir=os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
filePath=os.path.join(base_dir,'data','login.txt')
# 判断这个文件是否存在
print(os.path.exists(filePath))

# 获取操作系统
print(os.name)
# 获取环境变量
print(os.environ)

 time 实战

time模块提供了各种与时间有关系的库

import time
# 获取时间戳
print(time.time())
# 获取当前字符串格式的时间
print(time.ctime())
# 休眠5秒输出hello
time.sleep(5)
print('hello')

# 获取当前系统时间并且格式话输出
localTime=time.localtime(time.time())
print('年:{0},月:{1},日:{2}'.format(localTime.tm_year,localTime.tm_mon,localTime.tm_mday))
# 中国人喜欢的2种输出方式
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
print(time.strftime('%Y-%m-%d %x',time.localtime()))

 json实战

序列化:把内存里的数据类型转为字符串的数据类型,使能够存储到硬盘或通过网络传输到远程,因为硬盘或着网络传输时只接受bytes的数据类型。简单的说就是把Python的数据类型(字典,元组,列表)转为str的数据类型过程。

而反序列化,就是str的数据类型转为Python对象的过程

import json
# 列表的序列化与反序列化
list1=['java','Python','Go']
list_str=json.dumps(list1)
print(list_str)
print(type(list_str))
str_list=json.loads(list_str)
print(str_list)
print(type(str_list))

# 元组的序列化与反序列化  元组的反序列化输出的是列表格式
tuple1=('Go','Python')
tuple_str=json.dumps(tuple1)
print(tuple_str)
str_tuple=json.loads(tuple_str)
print(str_tuple)

# 字典的序列化与反序列化
dict1={'name':'xiaoming','age':20}
dict_str=json.dumps(dict1)
print(dict_str)
print(type(dict_str))
str_dict=json.loads(dict_str)
print(str_dict)
print(type(str_dict))

dict1={'name':'小明','age':18,'datas':[{'math':90,'englist':100,'yvwen':100,'wuli':109}]}
# 针对以上的dict1里面的数据进行格式化输出
# indent=True:结构化输出
# ensure_ascii=False:处理中文
print(json.dumps(dict1,indent=True,ensure_ascii=False))

 针对文件的序列化:是把目标写到文件中--针对文件的序列化是针对对象的序列化

json.dump(dict1,open('login.txt','w',encoding='utf-8'),ensure_ascii=False)
#反序列化是从文件里读取文件的内容
print(json.load(open('data.txt','r',encoding='utf-8')))

 datetime实战

相比time的模块,dateti也是表示时间的,但是会更加直观的

import  datetime
import time
# 获取当前的时间
print(datetime.datetime.now())
# 在当前的基础上增加10天个不能应用与年
print(datetime.datetime.now()+datetime.timedelta(days=10))
# 时间戳转换格式
print(datetime.datetime.fromtimestamp(time.time()))

 hashlib实战

openAPI 开放平台 对他进行加密 它的请求参数是字典形式

1、针对请求参数进行排序

2、key=value&value

3、进行md5加密

做网络爬虫:urllib

import hashlib
import time
from urllib import parse
def sign():
    dict1={'name':'wuya','age':18,'work':'testDev','time':time.time()}
    # 对请求参数进行ascill码排序
    data=dict(sorted(dict1.items(),key=lambda  item:item[0]))
    # 把请求参数处理成key=value&key1=value&key2=value2
    data=parse.urlencode(data)
    # 进行md5的加密
    m=hashlib.md5()
    # 要把字符串的数据处理成bytes数据类型
    m.update(data.encode('utf-8'))
    return m.hexdigest()
print(sign())

 库的管理:

1、标准库:安装Python解释器后,直接自带

2、第三方的库:全球顶级的程序员(有专门的网站可以下载)

安装方式:

1、在线安装

pip3 install 库的名称

pip3 uninstall 库的名称

pip3 install -u   库的名称

2、离线安装

3、常用的第三方 的库

selenium:UI测试框架

pip3 install selenium

Appium:移动UI测试框架

requests:接口测试框架

pip3 install requests

pymsql:操作MySQL

pip3 install pymysql

xlrd:操作系统Excel文件

pip3 install xlrd

Django:全栈WEB框架

flask:轻量级WEB框架

3、自定义的库:自己编写的Python文件

fast:异步WEB框架

pytest:单元测试框架

pip3 install pytest

 

这篇关于Python3.31的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!