如果是同包之间的模块调⽤,也就是说模块是在同⼀个包⾥⾯,不同的Python⽂件模块之间互相调⽤,它的⽅式为:
from 包.被调⽤的模块 import 被调⽤的模块os实战
os模块主要是对路径的处理,它的具体的案例实战如下:import os print('获取当前的路径:',os.getcwd()) print(os.system('netstat -ano | findstr "8080"')) print("获取当前文件的路径:",os.path.dirname(__file__)) print("获取当前工程的路径:",os.path.dirname(os.path.dirname(__file__))) print(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) base_dir=os.path.dirname(os.path.dirname(__file__)) print(os.path.join(base_dir,'json','mysql.json')) print("判断文件是否存在:",os.path.isfile('/user/name')) print("判断目录是否存在:",os.path.exists('C:\Program Files\AMD')) 获取当前的路径: D:\code\app\mokuai2 1 获取当前文件的路径: D:\code\app\mokuai2 获取当前工程的路径: D:\code\app D:\code D:\code\app\json\mysql.json 判断文件是否存在: False 判断目录是否存在: True Process finished with exit code 0JSON实战 序列化:把内存⾥的数据类型转为字符串的数据类型,使能够存储到硬盘或通过⽹络传输到远程,因为硬盘或者⽹络传输时只接受bytes的数据类型。简单的说就是把Python的数据类型(字典,元组,列表)转为str的数据类型过程。 ⽽反序列化,就是str的数据类型转为Python对象的过程。 在Python⾥⾯,使⽤序列化和反序列化使⽤到的标准库是json,下⾯主要依据不同的数据类型(list,tuple,dict)来进⾏序列化和反序列化的操作,具体如下:
import json list1=[1,2,3,4,5] list_str=json.dumps(list1) print("内容:",list_str,"类型:",type(list_str)) str_list=json.loads(list_str) print("内容:",str_list,"类型:",type(str_list)) tuple1=(1,2,3) tuple_str=json.dumps(tuple1) print("内容:",tuple_str,"类型:",type(tuple_str)) str_tuple=json.loads(tuple_str) print("内容:",str_tuple,"类型:",type(str_tuple)) dict1={'name':"wuyikai","age":18} dict_str=json.dumps(dict1) print("内容:",dict_str,"类型:",type(dict_str)) str_dict=json.loads(dict_str) print("内容:",str_dict,"类型:",type(str_dict)) dict2={'name':"wuyikai","age":18,"address":"xian"} json.dump(dict2,open("dict2.json",'w')) print(json.load(open("dict2.json",'r'))) 内容: [1, 2, 3, 4, 5] 类型: <class 'str'> 内容: [1, 2, 3, 4, 5] 类型: <class 'list'> 内容: [1, 2, 3] 类型: <class 'str'> 内容: [1, 2, 3] 类型: <class 'list'> 内容: {"name": "wuyikai", "age": 18} 类型: <class 'str'> 内容: {'name': 'wuyikai', 'age': 18} 类型: <class 'dict'> {'name': 'wuyikai', 'age': 18, 'address': 'xian'}