![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
Mia1128
这个作者很懒,什么都没留下…
展开
-
数据库
安装数据库yum install mariadb.x86_64 mariadb-server.x86_64 -y添加数据库模块:cd /home/kiosk/PycharmProjects/py/venv/bin/./pip3 install pymysql建立数据库信息mysql_secure_installation--->初始化数据库mysql -uroot -p...原创 2020-01-11 21:26:49 · 93 阅读 · 0 评论 -
有关多个装饰器的练习
编写装饰器required_types, 条件如下:1). 当装饰器为@required_types(int,float)确保函数接收到的每一个参数都是int或者float类型;2). 当装饰器为@required_types(list)确保函数接收到的每一个参数都是list类型;3). 当装饰器为@required_types(str,int)确保函数接收到的每一个参数都是str或者in...原创 2020-01-11 18:58:06 · 63 阅读 · 0 评论 -
带参数的装饰器
import timeimport functoolsdef log(kind): def add_log(func): @functools.wraps(func) def wrapper(*args,**kwargs): start_time = time.time() res = func(*ar...原创 2020-01-11 18:45:10 · 236 阅读 · 0 评论 -
使用装饰器计算所有整数的和
编写装饰器required_ints, 条件如下:1). 确保函数接收到的每一个参数都是整数;2). 如果参数不是整形数, 打印 TypeError:参数必须为整形import functoolsdef required_ints(func): @functools.wraps(func) def wrapper(*args,**kwargs): # (1,2,....)...原创 2020-01-11 18:42:24 · 162 阅读 · 0 评论 -
多个装饰器实现信息的登录
import functoolsimport inspectlogin_session=['root','admin','redhat']def is_login(fun): @functools.wraps(fun) def warapper(*args,**kwargs): if args[0] in login_session: ...原创 2020-01-11 18:38:12 · 84 阅读 · 0 评论 -
装饰顺序
装饰顺序:组装装饰器时,就近原则,从下往上装饰执行顺序:就远原则,从上往下调用先进入离test函数最近的装饰器,由于装饰器中返回的是函数的函数名引用,并非真正的调用函数;到inner2后,func会真正的执行函数,会调用inner1;到inner1中,func会调用test函数;再从各个函数出来def wrapper_out1(func): print('----out11-...原创 2020-01-11 14:04:39 · 90 阅读 · 0 评论 -
创建装饰器,打印日志信息
创建装饰器, 要求如下:创建add_log装饰器, 被装饰的函数打印日志信息;日志格式为: [字符串时间] 函数名: xxx, 运行时间:xxx,运行返回值结果:xxximport timeimport functoolsdef add_log(func): @functools.wraps(func) def wrapper(*args,**kwargs):...原创 2020-01-11 13:58:32 · 957 阅读 · 0 评论 -
装饰器实现函数计数器
装饰器实现一个函数计时器1.被装饰的函数有返回值怎么办2.如何保留被装饰函数的函数名和帮助信息文档python的内置类属性:当创建一个模块之后,系统就自带了一些属性,叫内置类属性。python中的模块通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导入到别的文件中,可以调用这些变量和函数。_name_可以标示模块的名字,_cod_可以标示模块的文档字符串。impo...原创 2020-01-11 13:51:17 · 476 阅读 · 0 评论 -
关于装饰器的小练习
# 年龄不能大于0,如果输入的年龄为负数,不规范,则输出0# 如果年龄输入规范,则输出年龄def outer(f):#装饰器 def inner(age): if age <=0: age = 0 f(age)#装饰器的输出结果 return inner@outer#语法糖def say(age): pr...原创 2020-01-11 13:23:07 · 73 阅读 · 0 评论 -
装饰器
函数的小练习# 输入一个数字,输出与1相加的结果def add_one(number): return number + 1a = add_one(2)#调用函数print(a)函数可以作为参数被传递def say_hello(name): return f"Hello {name}"def be_some(name): return f"Your {...原创 2020-01-11 13:11:24 · 100 阅读 · 0 评论 -
eval内置函数
exal( )函数用来执行一个字符串表达式,并返回表达式的值。语法:eval(expression[,globals[,locals]])expression表达式globals变量作用域,全局命名空间,如果被提供,则必须是一个字典对象locals变量作用域,局部命名空间,如果被提供,可以是任何映射对象字符串转换成列表a = "[[1,2],[...原创 2020-01-11 12:08:54 · 194 阅读 · 0 评论 -
try语句练习
录入学生信息的系统;对录入的信息进行校验: 1). len(姓名)>2 2). 18<age<25用户可以一直输入数字, 当按ctrl+c之后计算所有数的和;原创 2020-01-11 11:26:04 · 337 阅读 · 0 评论 -
try语句练习
提示用户输入密码def input_passwd(): # 1.提示用户输入密码 pwd=input('请输入密码:') # 2.判断密码长度 密码长度必须是8位或8位以上 if len(pwd)>=8: return pwd # 3.如果密码长度<8,就主动抛出异常 # 创建异常对象 ex=Exception...原创 2020-01-09 20:50:18 · 190 阅读 · 0 评论 -
函数的错误异常
函数的错误:一级一级向上去找,最终会将异常传递到主函数里面去def demo1(): try: return int(input('请输入正确的整数:')) except Exception as r: print('未知错误 %s' %r)def demo2(): return demo1()print(demo2())...原创 2020-01-09 20:32:20 · 727 阅读 · 0 评论 -
try/except/else语句练习
除法运算:try:#运行代码 num=int(input('Num:')) result=8/num print(result)except ZeroDivisionError:#如果在try部分引发了ZeroDivisionError异常 print('0不能做除数')# except ValueError:#如果在try部分引发了ValueError异常...原创 2020-01-09 19:49:49 · 208 阅读 · 0 评论 -
异常处理---try语句
异常处理----try语句当认为某些代码可能会出错时,就可以用try语句来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块。try语句格式try: <语句>#运行别的代码except <名字>: <语句>#如果在try部分引发...原创 2020-01-09 19:05:53 · 1388 阅读 · 0 评论 -
常见的异常
变量不存在print(a)被除数不能为0print(10/0)3. 字符串异常str = 'hello'print(str[10])4.d = dict(a=1,b=2)d = { 'a':1, 'b':2}print(d.get('c','key不存在'))print(d.get('c'))print(d['c'])...原创 2020-01-09 19:04:29 · 60 阅读 · 0 评论 -
table的应用
python通过PrettyTable模块可以将输出内容如表格方式整齐的输出。python操作数据库会经常用到此模块。from prettytable import PrettyTablefield_names = ("ID",'名字','英语成绩','Python成绩','C语言成绩')table = PrettyTable(field_names=field_names)print...原创 2020-01-09 11:17:20 · 376 阅读 · 0 评论 -
re模块
替换:字符串中的某个元素的替换可以通过replace实现。inputStr = 'hello 123 world 456'replaceStr = inputStr.replace('123','222')#将inputStr中的‘123’替换为‘222’print(replaceStr)如果想把所有123、456都替换成222,则replace实现不了了,这时候需要re.sub正则表...原创 2020-01-09 11:08:37 · 62 阅读 · 0 评论 -
linux文件之间的对比
在做此实验时,首先复制一个passwd文件,改变其中一个文件,使两个文件不同。import difflibfilename1 = '/test/passwd'filename2 = '/test/passwd1'with open(filename1) as f1,open(filename2) as f2: content1 = f1.read().splitlines(kee...原创 2020-01-09 10:47:29 · 155 阅读 · 0 评论 -
difflib模块之文本对比
相关知识点1. 什么是difflib? 用来做什么?difflib为python的标准库模块,无需安装。作用是对比文本之间的差异。并且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。在版本控制方面非常有用。2. 符号理解符号含义‘-’包含在第一个系列行中,但不包含第二个。‘+’包含在第二个系列行中,但不包含第一个。...原创 2020-01-09 10:40:30 · 106 阅读 · 0 评论 -
应用案例----系统的监控
需求:获取当前主机信息, 包含操作系统名, 主机名,内核版本, 硬件架构等获取开机时间和开机时长;获取当前登陆用户import osimport psutilfrom datetime import datetimeprint('主机信息'.center(50,'*'))info = os.uname()print(""" 操作系统:%s 主机名称:%s ...原创 2020-01-09 09:49:55 · 77 阅读 · 0 评论 -
datetime模块
from datetime import datefrom datetime import datetimeprint(date.today()) # 今天的日期print(datetime.now()) # 当前的具体时间** 如果计算三天前的时间和三天后的时间**from datetime import datefrom datetime import timedelta...原创 2020-01-09 00:36:00 · 67 阅读 · 0 评论 -
常用时间之间的转换
import timeimport os# 把元组时间转换成时间戳tuple_time=time.localtime()#元组时间print(tuple_time)print(time.mktime(tuple_time))# 把元组时间转化为字符串时间print(time.strftime('%d-%m',tuple_time))#天-月print(time.strftime('...原创 2020-01-09 00:22:51 · 284 阅读 · 0 评论 -
时间模块
时间表示的几种形式1.时间戳2.字符串时间3.元组类型的时间import osimport time# 1.时间戳print(time.time())#获得一个时间戳,距离1970年以来多少秒# 2.字符串时间print(time.ctime())# 3.元组时间print(time.localtime())info = time.localtime()print(...原创 2020-01-09 00:18:25 · 66 阅读 · 0 评论 -
os.path
利用time.time()方法,我们可以计算两个时间点之间的时间间隔,但是有些时候我们想要得到/etc/group文件的最后m/a/c/time的时间,对应的年月日这些信息并保存再文件date.txt文件中import osimport timetime1 = os.path.getctime('/etc/group')#返回文件创建时间print(time1)tuple_time...原创 2020-01-09 00:10:16 · 159 阅读 · 0 评论 -
有关os模块的练习
在当前目录新建目录img, 里面包含多个文件,文件名各不相同(X4G5.png)将当前img目录所有以.png结尾的后缀名改为.jpgimport stringimport os# 定义一个函数:生成目录名称def gen_code(len=4): # 随机生成四位随机数 由字符串+数字组成 li = random.sample(string.ascii_lette...原创 2020-01-08 23:30:26 · 183 阅读 · 0 评论 -
os模块
首先导入os模块用于处理文件和目录。os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它就会适应于不同的操作系统平台,根据不同平台进行相应的操作,在python编程时,经常和文件、目录打交道,所以离不了os模块。1.返回操作系统类型返回值是 posix—>linux操作系统nt---->windows操作系统print(os.name)#返回当前操作系统类型p...原创 2020-01-08 23:24:43 · 224 阅读 · 0 评论 -
练习
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母输入:”23”输出:[“ad”, “ae”, “af”, “bd”,“be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序def phpneLetter(digits):...原创 2020-01-08 22:20:03 · 87 阅读 · 0 评论 -
京东二面编程题
生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;读取ips.txt文件统计这个文件中ip出现频率排前10的ip;原创 2020-01-08 21:11:28 · 192 阅读 · 0 评论 -
有关文件的练习
创建文件data.txt 文件共有100000行每行存放一个1~100之间的整数生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B01-AF-3B(-xx)(-xx)(-xx)-xx01-AF-3B-xx-xx01-AF-3B-xx-xx-xx01-AF-3B-xx-xx-xx...原创 2020-01-08 02:19:47 · 146 阅读 · 0 评论 -
文件的上下文管理器
上下文管理器:打开文件,执行完with语句后,自动关闭该文件with open('/test/passwd') as f: print(f.read())print(f.closed)原创 2020-01-07 23:34:46 · 121 阅读 · 0 评论 -
文件的按行读取、按字节读取、移动文件指针
默认情况下,读取文件的内容时,小文件:直接read( )读取即可;大文件:readline( ).按行读取f=open('/test/passwd','r')print(f.readline())print(f.readline())f.close()按字节读取f=open('/test/passwd','r')print(f.read(3))print(f.tell())...原创 2020-01-07 23:29:55 · 1201 阅读 · 0 评论 -
非纯文本文件的操作
文件是以某一种标准编码成二进制存在硬盘里的,在应用程序给操作系统发送数据请求后,操作系统发送数据请求后,操作系统在硬盘读取二进制编码,然后返回给应用程序,通过open方法,将编码解码成我们看到的字符。读取纯文本文件:r、r+、w、w+、a、a+ == rt、rt+、wt、wt+、at、at+读取非纯文本文件:rb rb+ wb wb+ ab ab+f = open('/test/west...原创 2020-01-07 22:45:25 · 339 阅读 · 0 评论 -
文件的打开、关闭、文件的定位以及判断文件拥有的权限
文件的操作打开—>操作—>关闭在做这个实验时,我们自己可以先创建一个目录,易懂一个文件到目录下,用于实验:文件对于超级用户可写、可读,对于普通用户是可写:...原创 2020-01-07 21:19:42 · 196 阅读 · 0 评论 -
对于字符串——快速生成验证码
知识点在对接口进行鉴权时,需要自定义加密算法,常用的方法是随机字符串+密钥+时间戳+MD5加密,这个时候通常会用到随机字符串以及随机数字,这就用到string模块import string#主要用于对字符串的操作print(string.ascii_letters)#获取所有ascii码中字母字符的字符串(包含大写和小写)print(string.ascii_lowercase)#获取所有...原创 2019-12-26 22:31:08 · 345 阅读 · 0 评论 -
有关内置函数sorted的练习
(2018-携程-春招题)题目需求:给定一个整形数组, 将数组中所有的0移动到末尾, 非0项保持不变;在原始数组上进行移动操作, 勿创建新的数组;输入:第一行是数组长度, 后续每一行是数组的一条记录;40 27 10 22 1输出:调整后数组的内容;7200n=int(input())#给定一个整型数组li=[int(input()) for i in ran...原创 2019-12-26 21:23:09 · 126 阅读 · 0 评论 -
内置函数sort、sorted
定义一个列表,使用内置函数sort进行排序:li=[4,3,6,1,5,10,9]li.sort()#将列表中的元素进行排序print(li)将列表赋值给新列表,将新列表进行排序,原列表内容不变:内置函数sort的使用li=[4,3,6,1,5,10,9]li1=li[:]#[:]提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串li1.sort()print(li1)...原创 2019-12-26 19:23:08 · 273 阅读 · 0 评论 -
字典生成式
假设有20个学生,学生的分数在60~100之间,筛选出成绩在90分以上的学生import random # 导入随机模块stuinfo = {} # 定义一个字典,用于存放学生成绩名单for i in range(20): # 随机生成20个 name = 'westos' + str(i) # i为数字,转变成字符串型,连接字符串,用于区分学生姓名 score =...原创 2019-12-25 18:55:41 · 229 阅读 · 0 评论 -
关于内置函数的练习
1.回数是指从左向右读和从右向左读都是一样的数,例如12321,909请利用filter()筛选出回数方法一:def huishu(num):#定义一个函数,判断是否为回文数 if str(num) == str(num)[::-1]:#如果正向的=倒向的,则是回文数。但需要注意对于切片,只能针对字符串型 return True else: r...原创 2019-12-25 21:34:43 · 131 阅读 · 0 评论