package:相同的模块代码存储在一个目录下(即包里边会包含多个模块)。
包不能存储在文件夹的目录下,模块名称不能使用关键字。(不包含工程文件夹)
1)在工程文件夹testDve下新建一个名为module的python package,在module下再新建一个名为index的python package,index的python package下新建一个名为index的python文件,写入代码如下:
1 name="cch学习python" 2 3 def login(): 4 print("login success!")
2)在module的python package下新建一个名为logout的python文件,并在其中编写代码如下:
1 from module.index.index import 2 print(name) 3 login()
3)运行代码后,index文件中的内容就复制到logout文件中
1 import random 2 print(random.randrange(1,10)) 3 print(random.randint(10,20))
1)在testDev工程文件下新建一个名为module的python package,在module下新建一个名为“os学习”的文件;
2)在testDev工程文件下新建一个名为data的文件夹,data文件夹下新建一个log的文件,并且编写“hello world”的内容;
3)在os学习文件中编辑如下代码:
1 import os 2 3 print(os.path.dirname(__file__)) #获取当前路径 4 print(os.path.dirname(os.path.dirname(__file__))) #获取当前路径的上一级路径 5 base_dir=os.path.dirname(os.path.dirname(__file__)) 6 print(base_dir) 7 #路径的拼接 8 print(os.path.join(base_dir,"data","log")) 9 10 filePath=os.path.join(base_dir,"data","log") 11 12 with open(file=filePath,mode="r",encoding="utf-8") as f: 13 print(f.read())
1 #获取操作系统 2 print(os.name) 3 #判断文件目录是否存在 4 print(os.path.exists("D:\soft\python")) 5 #判断是否是文件 6 print(os.path.isfile("D:\soft\python")) 7 #获取此路径下的所有文件夹 8 for item in os.listdir("D:\soft\python"): 9 print(item) 10 11 print(os.system("ping www.baidu.com"))
以上代码运行的结果为:
md5是一种加密方式,md5加密后基本破解不了
需求:
1)针对字典进行排序;
2)把排序后的字典整成key1=value1&key2=value2的形式;
3)进行md5加密。
1 import hashlib 2 from urllib import parse 3 import time 4 def sign(): 5 dict1={"name":"cch","age":18,"city":"baoji","time":time.time()} 6 data=dict(sorted(dict1.items(),key=lambda item:item[0])) #对字典进行排序 7 print(data) 8 data1=parse.urlencode(data) #把排序后的结果整理成key1=value1&key2=value2的形式 9 print(data1) 10 m=hashlib.md5() 11 m.update(data1.encode("utf-8")) 12 print("加密后的信息结果:\n",m.hexdigest()) 13 sign()
以上代码运行的结果为:
1 import time as t 2 3 print("获取当前时间戳:",t.time()) 4 print("返回当前日期的字符串:",t.ctime()) 5 print("时间戳转为字符串:",t.ctime(t.time())) 6 print("本地化:",t.localtime(t.time()).tm_mon) 7 print("中国人的时间:",t.strftime("%y-%m-%d %H:%M:%S",t.localtime())) 8 t.sleep(5) 9 print("中国人的时间:",t.strftime("%y-%m-%d %X",t.localtime()))
以上代码运行的结果为:
datetime是对time的二次封装
1 print(datetime.datetime.now()) #获取当前时间 2 print(date) 3 print(datetime.datetime.now()+datetime.timedelta(days=15)) #在当前时间基础上添加时间 4 print(datetime.datetime.now()+datetime.timedelta(days=-15)) 5 print(datetime.datetime.now()+datetime.timedelta(minutes=60)) 6 print(datetime.datetime.fromtimestamp(time.time())) #时间戳格式转换
以上代码运行的结果为:
序列化:把Python对象(字典,列表,元组)转为字符串的过程
反序列化:把字符串转为Python对象(字典,列表,元组)的过程
1 import json
2 lists=[x for x in range(6)]
3 list_str=json.dumps(lists) #把列表转为字符串
4 print(list_str)
5 print(type(list_str))
6 str_list=json.loads(list_str) #把字符串转为列表
7 print(str_list)
8 print(type(str_list))
以上代码运行的结果为:
1 import json
2 tuple1=("Python","Java")
3 tuple_str=json.dumps(tuple1)
4 print(tuple_str)
5 print(type(tuple_str))
6 str_tuple=json.loads(tuple_str)
7 print(str_tuple)
8 print(type(str_tuple))
以上代码运行的结果为:
1 import json
2 dict1={"name":"cch","age":18,"city":"宝鸡"}
3 dict_str=json.dumps(dict1,indent=True,ensure_ascii=False) #indent=True为进行缩进
4 print(dict_str)
5 print(type(dict_str))
6 str_dict=json.loads(dict_str)
7 print(dict_str)
8 print(type(str_dict))
以上代码运行的结果为:
序列化:把第三方的内容写到文件中dump()
反序列化:从文件中读取数据load()
1 import json
2 dict1={"name":"cch","age":18,"city":"宝鸡"}
3 json.dump(dict1,open(file="json.txt",mode="w",encoding="utf-8"),ensure_ascii=False) #进行文件写入操作时,ensure_ascii=False可防止中文乱码
4 data=json.load(open(file="json.txt",mode="r",encoding="utf-8"))
5 print(data)
6 print(type(data))
以上代码运行的结果为:
标准库:解释器自带的库
第三方库:有组织或者是个人编写好的库,可以供全球的程序员使用
Django:Web全栈开发框架
Flask:轻量级的Web开发框架
Selenium:UI自动化测试框架
Requests:接口测试框架
pip uninstall 库的名称
例如:pip install selenium、pip install flask、pip install xlrd(excel文件读)
pip uninstall 库的名称