from time import process_time_ns
from unicodedata import name
import logging
面向对象 类
class Student(object):
def init(self,name,score,id): # c++ 中的构造函数
self.name = name
self.score = score
self.__id = id
def get_info(self):
print('name :%s score :%d'%(tzy.name,tzy.score))
def get_id(self):
return self.__id;# __ 表示私有属性
tzy = Student(‘tzy’,100,4111)
tzy.get_info()
print(tzy.get_id())
#错误处理 try…except…finally…
try:
print(‘try’)
n = 10 / int(‘a’)
print(‘n : %d’%n)
except ZeroDivisionError as e:
print(‘except:’,e)
except ValueError as e:
print(‘except’,e)
finally:
print(‘finally’)
print(‘END’)
调用栈,当程序发生调用错误时,python 会把程序调用栈打印出来
def foo(s):
return 10 / int(s)
def bar(s):
return foo(s)*2
def test():#错误记录,将错误调用堆栈打印出来,同时继续执行下面的代码
try:
bar(0)
except Exception as e:
logging.exception(e)
test()
print(‘END’)
实用的 os 模块
import os
print(os.path.abspath(’.’)) #获取绝对路径
path = os.path.join(os.getcwd(),‘qqq’) # 合成路径,根据操作系统自动合成,linux 路径分隔符号为/ win 为
print(path)
#os.mkdir(path) 在当前文件夹下创建文件夹
print(os.path.split(path))#路径拆分,后一部分为最后级别的目录或文件名
test_path = ‘/path/to/file.txt’
print(os.path.splitext(test_path))# 获取后缀名
#os.rename(‘test.txt’,‘test.py’) 重命名文件
序列化
JSON
import json
list = [‘asd’,‘test_path’]
print(json.dumps(list))