首页 > 其他分享 >包和模块、库、json库

包和模块、库、json库

时间:2022-09-07 19:24:43浏览次数:84  
标签:文件 模块 list json str print 序列化

七.包和模块

  • package:针对代码结构的组织,一个包里面可以拥有很多的python文件

  • module:一个python文件就是一个模块

1.从另一个模块直接引用所需代码

模块必须是存放在包下边的,而不是目录下

from 模块1名 import 代码名

快速引用模块1所有的变量函数等,*正则

from index import *

index.py模块

def login():
  print('login sucess')
name = 'hello,beautiful girl'

first.py直接调用

#从另一个模块调用代码
from index import name,login
print(name)
(login())

同包不同模块引用先进入模块,不同包引用先进入包名,

八.库:

库的分类

1、标准库 安装Python环境后自带的

2、第三方的库 第三方的个人以及公司发布

pip install 库的名称

pip uninstall 库的名称

3、自定义的库

selenium:WEB自动化测试框架
requests:API测试框架
flask:轻量级WEB开发框架
django:全栈WEB开发框架
fastapi:异步WEB框架

1.open文件的io操作

操作文件三个步骤: 1、打开文件 2、读/写 3、关闭文件

文件操作的模式: a :追加 w :写(假设文件里面有内容,先清空再写) r :读

如果出错,文件路径有问题

写中文出错的时候需要加上encodings='utf-8' x=open('xc.txt','r',encoding='utf-8'),

 utf-8不行的时候使用gbk,或者gb2312

写:
1.1open函数写文件的逻辑

1.被操作的文件如果不存在会自动创建文件 2.如果文件存在,且有内容,模式是w,先清空再写 3.模式是a,会在原来内容上追加新的内容

1.2批量写入,文件写入的内容必须是字符串str,其余的都需要强制转换

list=[x for x in range(10)]

f=open('log.txt','w')

for item in list:

f.write('\n'+str(item))

f.close()

1.3with上下文,内部会自动关闭文件,以防忘写close内存溢出,通常使用此方法,读写操作与open一致

with open('log.txt','r') as f:

for item in f.readlines():

print(item.strip())

#文件io操作
#open函数写文件的逻辑
#1.被操作的文件如果不存在会自动创建文件2.如果文件存在,且有内容,模式是w,先清空再写3.模式是a,会在原来内容上追加新的内容
f=open('log.txt','r',encoding='utf-8')
# f.write('\n远离男人保平安')
# f.close()

#批量写入,文件写入的内容必须是字符串str,其余的都需要强制转换
# list=[x for x in range(10)]
# f=open('log.txt','w')
# for item in list:
#     f.write('\n'+str(item))
# f.close()
#read()读取文件内容
# print(f.read())
# f.close()
#读取第一行内容
# print(f.readline())
#按行读取文件内容,并且取消空格
for item in f.readlines():
  print(item.strip())
#with上下文,内部会自动关闭文件,以防忘写close内存溢出,通常使用此方法,读写操作与f一致
# with open('log.txt','r') as f:
#     for item in f.readlines():
#         print(item.strip())

读:

读取的时候要先把写的部分注释掉

全部读取

读取第一行内容

按行读取内容,并取消空格

2.伪造随机数random

范围内的内容全部随机

print(random.randint(10,99))

3.json库:

用处:

序列化:把python对象(list、tuple/dict)转换为字符串的过程 dumps() 反序列化:把字符串转为Python对象的过程 loads()

注意:

json数据库使用要先导入,通常会自己导入,多处理代码级别的接口测试 字典和列表反序列化都会变回自己的格式,元组反序列化会变成列表

''
json数据库使用要先导入,多处理代码级别的接口测试
序列化:把python对象(list、tuple/dict)转换为字符串的过程 dumps()
反序列化:把字符串转为Python对象的过程 loads()
'''
import json

#字典的序列化
dict ={'name':'a','age':18}
dict_str=json.dumps(dict)
print(dict_str,type(dict_str))
#字符串的反序列化
str_dict=json.loads(dict_str)
print(str_dict,type(str_dict))

#列表的序列化
list=[x for x in range(10)]
list_str=json.dumps(list)
print(list_str,type(list_str))
#字符串变回列表
str_list=json.loads(list_str)
print(str_list,type(str_list))

#元组经过反序列化后变成列表的数据类型
tuple=(1,2,3)
#元组序列化
tuple_str=json.dumps(tuple)
print(tuple_str,type(tuple_str))
#元组反序列化
str_tuple=json.loads(tuple_str)
print(str_tuple,type(str_tuple))

4.time

1.获取当前的时间

print(datetime.datetime.now())

2.休眠
3.对现有的时间做加减乘除
#休眠
import datetime
import time
# time.sleep(5)
#获取当前时间的时间戳,查看转换的地址:https://tool.lu/timestamp/
print(time.time())
#时间戳转换为当前时间
t=time.localtime(time.time())
print(t.tm_year,t.tm_mon,t.tm_mday,t.tm_hour,t.tm_min,t.tm_sec)
#获取当前时间
print(time.strftime('%y-%m-%d %H:%M:%S',time.localtime()))
#获取当前的时间
print(datetime.datetime.now())
#对现有的时间做加减乘除
print(datetime.datetime.now()+datetime.timedelta(hours=-2))
4.获取当前时间戳

print(time.time())

 

标签:文件,模块,list,json,str,print,序列化
From: https://www.cnblogs.com/zxx4/p/16666926.html

相关文章