python的模块

徘徊边缘 提交于 2020-01-02 22:44:45

1、列表推导式

num = [1,2,3,4,5,8]
new_nums =[str(x) for x in num]#这种就是推导式写法,与你写一大堆循环得出的结果是一样的,这样写会更简单,逼格更高而已
print(new_num)
2、一个函数最好实现一个功能
#测试开发
开发工具,开发平台
#自动化测试
通过写代码来进行测试,提高测试效率
3、实现同样的功能,代码越少越牛逼
内置函数

就是python内置的函数,python自己已经写好的函数如
int()
string()
print()
len()、type()。。。。。。

#print(dir(a))#打印变量可以使用的所有的方法,适用于我们在写代码时想使用一种方法时.不出来方法时使用,可以轻松打印出可以使用的方法,打印传入对象的可调用方法
#print(eval'[]')#用来执行python代码的,只能执行简单的,定义数据类型和运算
#exec()#执行python代码用的,一般都是用在网站上比如在线运行代码的网站,这个函数是没有返回值的;
#zip #将两个list压缩在一起
#print(chr(10))#打印数字对应的ascii
#print(ord('b'))#打印字符串对应的ascii码
#sorted()#安升序排序(默认),如果想降序,加上一个reverse = Trun,就成了降序,这个方法也可以给字符串排序
#print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
#map()的作用就是循环调用函数然后把每次函数处理的结果,放到一个list中返回
#filter()也是帮你循环调用函数的,filter只保存结果返回为真的
参考:http://www.nnzhp.cn/archives/152

函数即变量,只不过函数这个变量存的是函数体中的代码而已,这种方法只适用于函数没有参数,或者函数参数个数都是一样的时候,如果函数有参数或不一样则无法使用;

常用的模块
1、json
json串就是字符串
indent是多少缩进
.dumps()方法#操作字符串的
.dump()方法#自动帮你写入文件,第一个参数是数据,第二个是文件对象
.load()方法#自动帮你读文件
.loads()方法#操作字符串的
2、 os
#print(os.getcwd())#取当前工作目录,就是当前的路径,必须会
#print(os.chdir("../"))#更改当前目录,返回到上一级目录
#print(os.curdir)#当前目录,但是打印出来的是一个点,代表当前目录
#print(os.mkdir("test1"))#创建文件夹,必须会
#print(os.rmdir("test1"))#删除指定的文件夹,只能删除空的文件夹,与linux的命令一致,必须会
#print(os.remove("test"))#删除文件,不能删除文件夹,以上删除都是默认在当前目录下删除,如果想删除绝对路径下的文件,就要写明绝对路径,必须会
#print(os.listdir('.'))#列出一个目录下的所有文件,必须会
#os.rename("test","test1")#重命名,必须会
#print(os.stat("len_os.py"))#获取文件信息
#print(os.path.abspath(__file__))#获取绝对路径,这种获取的路径是最准确的,分隔符也是没有问题的,必须会
#print(__file__)#就是这个文件的绝对路径,路径的分隔符是不正确的
#print(os.path.split("/usr/hehe/hehe.txt"))#分割路径和文件名,必须会
#print(os.path.dirname("/usr/local"))#获取父目录,必须会
#print(os.path.basename("/usr/local"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名
#print(os.path.isabs("."))#判断是否是绝对路径
#print(os.path.isfile("/usr/local"))#判断是否是一个文件,返回的是一个布尔值Trun或False,如果路径中的第一个字符碰到了\n\t等特殊的字符,系统会认为是换行符或是制表符,此时应该在路径前面加一个r,就会解决这个问题,必须会
#print(os.path.isdir("/usr/local"))#是否是一个路径,返回的是一个布尔值Trun或False,必须会
#print(os.path.join("/root",'hehe','a.sql'))必须要会#拼接成一个路径,跨系统的路径拼接,它会自动的识别系统路径,自动的进行分割拼接
#print(os.path.getatime("len_os.py"))#输出最近访问时间
#print(os.path.getmtime("len_os.py"))#输出最近访问时间
#print(o.sep)#显示当前系统的目录分隔符
#print(o.linesep)#显示当前系统的换行符
#print(o.pathsep)#显示系统环境变量中每个路径的分隔符,linux是:,Windows是;
#print(o.name')#当前系统名称
#print(o.environ)#显示当前系统的环境变量
#os.system('ipconfig')#用来执行操作系统的命令,只能直行,不能获取结果
# print(os.path.exists("c://test2")) # 目录/文件是否存在,必须会
#res = os.popen('ifconfig')#用来执行操作系统命令并且获取返回结果,要是用一个方法.read
#print(res.read())
常量
常量就是一个不会变的变量
常量都是用大写字母开头的

3、sys
#print(sys.path)#环境变量
#print(sys.platform)#看当前从操作系统是什么
#print(sys.version)#看python的版本
#print(sys.exit())#退出程序,调用后就会自动退出,后面的代码将不再执行
#print(sys.argv)#是获取运行python文件时传入的参数
import sys,os
def clean_log(path):
print('日止已经清理完成')

args = sys.argv
if len(args)>1:
path = args[1]
if os.path.isdir(path):
clean_log(path)
else:
print('路径不存在')
else:
print('运行这个python文件需要传入一个路径!\n'
'运行实例:python clean_log.py /usr/tomcat/logs')

4、rendom

#print(string.digits)#所有的数字0-9
##print(string.ascii_lowercase)#所有的大写字母
#print(string.ascii_uppercase)#所有的小写字母
#print(string.ascii_letters)#所有的小写字母+所有的大写字母
#print(string.punctuation)#所有的特殊字符

#print(random.randint(1,20))#随机整数
#print(random.choice('x23serw4'))#随机取一个元素
#print(random.sample('hello',2))#从序列中随机取几个元素,返回的是一个列表
#random.uniform(1,9)#取随机小数
#print(round(xxx,2))#取几位小数进行保留,round是一个内置函数,保留几位小数,如果四舍五入后最后一位是0,那么最后一位不显示
#print(random.random())#取0-1之间随机小数
#random.shuffle()#洗牌,打乱顺序,只能传list,不能传字符串

5、time
#time.sleep(4)#等待时间,代码中的数字就是停留的时间,单位是秒
获取时间
1、格式化好的时间,如:2018-1-14 16:00
2、时间戳,是从Unix元年到现在所有的秒数
3、时间元组
#print(int(time.time())#获取当前时间的时间戳
#time.strftime('%Y-%m-%d %H:%M:%S')#去当前时间的格式化时间
#print(time.gmtime())#把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳,如果不穿参数就取标准的时间,如果传了一个时间戳,那么就把这个时间戳转换成时间元组
#print(time.timezone)#和标准时间相差的时间,单位是s
#print(time.localtime())#取当前时区的时间元组,如果传了一个时间戳,那么就把这个时间戳转换成时间元组
#print(time.strftime("%y%m%d %H%M%S"))#将时间元组转换成格式化输出的字符串
#print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组
如果想在python中自由转换,需要将时间戳或格式化好的时间转换成时间元组才可以相互转换

6、hashlib
#hashlib.md5()#md5加密
import hashlib
ybm_pwd = 'yuanbaoqing'
m = hashlib.md5()
bytes_ybq = ybm_pwd.encode()#把字符串转换成bytes类型
m.update(bytes_ybq)#加密,不能是字符串,只能传butest类型,二进制
print(m.hexdigest())#加密后的结果
#md5加密是不可逆的,不能被解密

7、base64
这个模块也是一个加密模块,这个可加密可解密,一般用在get请求中的参数加密,传参数时稍微安全一些
import base64
s = 'hahaha'
bytes_s =s.encode()
res = base64.b64encode(bytes_s)
print(s)

jie_mi_res = base64.b64

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!