标签:argv style 显示 null 属性 color exist 文件中 方法
namedtuple
命名元组 ->类似创建了一个类
from collections import namedtuple p = namedtuple("point", ["x","y"]) p1 = p("bob", "jack") print(p1) print(p1.x) print(p1.y) 运行结果: point(x=‘bob‘, y=‘jack‘) bob jack
os操作系统交互的模块
import os 文件和文件夹相关 os.remove(‘file_name‘) #删除文件 os.rename(‘old‘,‘new‘) #重命名文件名 os.mkdir(‘dir_name‘) #创建一个空目录 os.rmdir(‘dir_name‘) #删除单级空目录 os.makedirs(‘dir1/dir2/dir3‘) #创建多级目录 os.removedirs(‘dir1/dir2/dir3‘) #删除多级空目录 print(os.listdir(‘E:\dir1‘)) #目录下的所有文件以列表显示 print(os.stat(‘E:/PyPractise/test.py‘)) #查看文件属性 工作目录相关的 os.system("bash command") #运行shell命令,直接显示 os.popen("bash command).read() #运行shell命令,获取执行结果 ret = os.popen(‘dir‘).read() print(ret) print(os.getcwd()) #获取当前工作目录 os.chdir("dirname") #改变当前脚本工作目录;相当于shell下cd os.chdir(r‘E:\U‘) open(‘test‘,‘w‘).close() #创建文件\创建文件夹实际上都是跟着工作目录走的,和你当前执行的这个文件并没有关系 路径相关的 os.path.*** print(os.path.abspath(r‘test.txt‘)) #打印文件绝对路径 E:\Py3Practise\day01\bob.txt print(os.path.split(r‘E:\测试目录\test.txt‘)) #根据路径和文件名分割成元组 (‘E:\\测试目录‘, ‘test.txt‘) print(os.path.dirname(r‘E:\测试目录\test.txt‘)) #获取文件的目录 E:\测试目录 print(os.path.basename(r‘E:\测试目录\test.txt‘)) #获取文件的文件名 test.txt dir_name = os.path.dirname(__file__) #打印当前路径的全路径目录 open(os.path.join(dir_name,‘test‘),‘w‘) #在当前目录下创建一个test的文件 print(os.path.exists(r‘E:\s17\day17\test1‘)) #判断路径是否存在(True/False) print(os.path.isabs(r‘E:\Py3Practise‘)) #如果path是绝对路径,返回True/False print(os.path.isfile(r‘E:\测试目录\test.txt‘)) #如果path是一个存在的文件,返回True/False print(os.path.isdir(r‘E:\测试目录‘)) #如果path是一个存在的目录,返回True/False print(os.path.join(‘E:\\‘,‘测试目录‘,‘test.txt‘)) #路径拼接 E:\测试目录\test.txt print(os.path.getatime(r‘E:\测试目录\test.txt‘)) #返回文件件或目录的最后访问时间 1545831948.7886515 print(os.path.getmtime(r‘E:\测试目录\test.txt‘)) #返回文件或目录的最后修改时间 1545831954.4927616 print(os.path.getsize(r‘E:\测试目录\test.txt‘)) #计算文件大小 print(os.path.getsize(r‘E:\测试目录‘)) #计算文件夹属性大小 其他属性 print(os.sep) #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" print(os.linesep) #输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n" print(os.pathsep) #输出用于分割文件路径的字符串,win下为;,Linux下为: 结果 ;
sys模块
print(sys.version) # 获取Python解释程序的版本信息 print(sys.path) # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 print(sys.platform) # 返回操作系统平台名称 sys.exit(0) # 程序正常退出sys.exit()==exit(0) sys.exit(1) # 程序错误退出sys.exit(1)==exit(1) sys.argv # 命令行参数List,第一个元素是程序本身路径 一个文件在命令行被执行的时候,py文件后面所有的内容都会成为sys.argv中的一项 C:\Users\admin>python3 E:/Py3Practise/day01/test.py bob jack [‘E:/Py3Practise/day01/test.py‘, ‘bob‘, ‘jack‘] 事例二 import sys user = sys.argv[1] passwd = sys.argv[2] if user == ‘bob‘ and passwd == ‘123‘: print(‘登陆成功‘) else: exit() print(‘登陆成功之后才能执行的逻辑‘) 结果 C:\Users\admin>python3 E:/Py3Practise/day01/test.py bob 123 登陆成功 登陆成功之后才能执行的逻辑
序列化
把一个对象拍散,叫序列化
把拍散的内容整合回对象,反序列化
pickle模块
把一个对象进行序列化操作
1. dumps() 把对象序列化成字节
2. loads() 把字节反序列化成对象
3. dump() 把对象序列化写入文件
4. load() 把文件中的内容反序列化成对象
import pickle class Elephant: def __init__(self,name,weight,height): self.name = name self.weight = weight self.height = height def play(self): print(f‘{self.name}喜欢玩水‘) e = Elephant(‘大象‘,‘185T‘,‘210‘) e.play() bs = pickle.dumps(e) #序列换化 print(bs) dx = pickle.loads(bs) #反序列化 dx.play() 结果 大象喜欢玩水 b‘\x80\x03c__main__\nElephant\nq\x00)\x81q\x01}q\x02(X\x04\x00\x00\x00nameq\x03X\x06\x00\x00\x00\xe5\xa4\xa7\xe8\xb1\xa1q\x04X\x06\x00\x00\x00weightq\x05X\x04\x00\x00\x00185Tq\x06X\x06\x00\x00\x00heightq\x07X\x03\x00\x00\x00210q\x08ub.‘ 大象喜欢玩水 事例2 class Elephant: def __init__(self,name,weight,height): self.name = name self.weight = weight self.height = height def play(self): print(f‘{self.name}喜欢玩水‘) e1 = Elephant(‘大象‘,‘185T‘,‘210‘) e2 = Elephant(‘老虎‘,‘185T‘,‘210‘) #序列化方法一(写) f = open(‘测试文件.txt‘,mode=‘wb‘) pickle.dump(e1,f) pickle.dump(e2,f) #序列化方法二(写) lst = [e1,e2] pickle.dump(lst,open(‘测试文件.txt‘,mode=‘wb‘)) #dump这个方法是把对象打散写入到文件,序列化的内容不是给人看的 #反序列化(读) lst = pickle.load(open(‘测试文件.txt‘,mode=‘rb‘)) for dx in lst: dx.play() 结果 大象喜欢玩水 老虎喜欢玩水
json模块
import json # 定义字典,稍后写入json文件 dic = {‘name‘:‘洋洋‘,‘age‘:None,‘jobs‘:False} # 字典转字符 s = json.dumps(dic,ensure_ascii=False) # json处理中文的问题 print(s) # 字符转字典 d = json.loads(‘{"name": "洋洋", "age": null, "jobs": false}‘) print(d[‘name‘]) # 写入test.json文件中 with open(‘test.json‘,mode=‘w‘,encoding=‘utf-8‘)as f1: json.dump({‘name‘:‘洋洋‘,‘age‘:None,‘jobs‘:False},f1,ensure_ascii=False) # 读取test.json文件内容 with open(‘test.json‘,‘r‘,encoding=‘utf-8‘)as f2: print(json.load(f2)) #json文件只能保存一条数据,如果想保存多条数据,需要在列表里添加数据 [ {"name": "洋洋", "age": null, "jobs": false} {"name": "洋洋", "age": null, "jobs": false} ]
标签:argv style 显示 null 属性 color exist 文件中 方法
原文地址:https://www.cnblogs.com/wangm-0824/p/10199668.html