常用模块以及常用方法
一、os模块
res = os.system('ifconfig')#os.system执行操作系统的命令,在不需要返回请求结果的情况下用 print(res)#结果是0 res1 = os.popen('ifconfig') print(res1.read())#获取到返回结果
二、sys模块
sys.argv 它是一个list,是用来获取你执行python文件的时候它的参数的,第一个元素的当前你运行的这个python文件的文件名。具体看下面的例子:
test2.py:
import os,sysinpu = sys.argv print(inpu)if len(inpu) < 3:print('参数错误') else:file = inpu[1]content = inpu[2]f = open(file,'w')f.write(content)
在Terminal中运行python文件,并给他传2个参数 test.txt和你好啊
sys.argv的结果['test2.py', 'test.txt', '你好啊'],这个list的第一个元素是当前你运行的python文件的文件名
三、random模块
print(random.random()) # 随机浮点数,默认取0-1,不能指定范围 print(random.randint(1, 20)) # 随机整数 print(random.choice('sdfsd233')) # 随机取一个元素 print(random.sample('hello234234史蒂夫34', 4))#从序列中随机取几个元素,返回是一个list f =random.uniform(1, 9) # 随机取浮点数,可以指定范围 x = [1, 2, 3, 4, 6, 7] random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值 print(x)
四、json模块
names = {"name":"中文","age":36,"assfdf":223,"sdfsdf":23232323,"sdfsdf1":23232323 }names_json = '{"name": "wjx", "age": 36, "assfdf": 223, "sdfsdf": 23232323, "sdfsdf1": 232323234}'with open('aaa.json','w',encoding='utf-8') as f:res = json.dumps(names,ensure_ascii=False)#把字典转成json串 ensure_ascii=False可以显示中文 f.write(res)names1 = json.loads(names_json) print(names1)
或者
with open('aaa.json',encoding='utf-8') as f1:name_dict = json.load(f1)print(name_dict)fw = open('aaa.json','w',encoding='utf-8') json.dump(names,fw,ensure_ascii=False,indent=4)#以4个空格缩进,便于观看
dumps:序列化一个对象
loads: 从一个对象加载数据
dump:将一个对象序列化存入文件
load:从一个打开的文件句柄加载数据
在生成的json中可以选择Code-->Reformat Code让json的排列更便于观看。
五、time,datetime模块
print(time.timezone)#和标准时间相差的时间,单位是s print(time.time())#获取当前时间戳 print(time.sleep(1))#休息几s print(time.gmtime())#把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳 print(time.localtime())#把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳 print(time.mktime(time.localtime()))#把时间元组转换成时间戳 print(time.strftime("%Y-%m-%d %H:%M:%S"))#将时间元组转换成格式化输出的字符串 print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组 print(time.struct_time)#时间元组 print(time.asctime())#时间元转换成格式化时间 print(time.ctime())#时间戳转换成格式化时间 print(datetime.datetime.now())#当然时间格式化输出 print(datetime.datetime.now()+datetime.timedelta(3))#3天后的时间 print(datetime.datetime.now()+datetime.timedelta(-3))#3天前的时间
六、hashlib模块
主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512
用法都大致相同,以md5加密为例
md = hashlib.md5()#构造一个md5对象 md.update(b'abc123') print(md.hexdigest())
但是当加密的内容过于简单的时候,可以通过撞库的方法,暴力破解出内容
所以就要加盐加密
def md5_password(str,salt = '#^&*(Q$^*&Q^$'):str = str + saltimport hashlibmd = hashlib.md5()md.update(str.encode())return md.hexdigest()print(md5_password('abc123'))
七、redis模块
redis是一个nosql类型的数据库,数据都存在内存中,有很快的读写速度,python操作redis使用redis模块,pip安装即可
r = redis.Redis(host='211.149.218.16',port=6378,password='123456',db=2)#指定连接redis的端口和ip以及哪个数据库 r.set('zdq','nizhenhao@')#set string类型的值 print(r.get('zdq').decode())#获取值 r.hset('hname', 'key', 'value')#set 哈希类型的值 print(r.hgetall('hname')) # 获取这个name里所有的key和value
将db2中的数据转移
r = redis.Redis(host='211.149.218.16',port=6378,password='123456',db=2)#指定连接redis的端口和ip以及哪个数据库 r_new = redis.Redis(host='211.149.218.16',port=6378,password='123456',db=12)for k in r.keys():k_type = r.type(k).decode()if k_type == 'string':v = r.get(k)r_new.set(k,v)elif k_type == 'hash':hash_data = r.hgetall(k)for k2,v2 in hash_data.items():r_new.hset(k,k2,v2)else:print('error')
八、pymysql模块
import pymysql # 创建连接,指定数据库的ip地址,账号、密码、端口号、要操作的数据库、字符集 connect = pymysql.connect(host = '211.149.218.16',port = 3306 ,user = 'jxz',passwd = '123456',db = 'jxz',charset = 'utf8') cur = connect.cursor()#建立游标,仓库管理员 sql = 'select * from stu ' # insert_sql = 'insert into stu VALUE (89,"zhangdq");' # cur.execute(insert_sql) cur.execute(sql)#执行sql row_1 = cur.fetchone()# 获取查询结果的第一条数据,返回的是一个元组 row_2 = cur.fetchmany(5)# 获取前n行数据,返回一个元组 row_3 = cur.fetchall()# 获取所有数据,返回一个元组 connect.commit()#提交 print(row_3)
如果想要获取到的结果是一个字典类型的话,可以导入from pymysql.cursors import DictCursor
import pymysql from pymysql.cursors import DictCursor connect = pymysql.connect(host = '211.149.218.16',port = 3306 ,user = 'jxz',passwd = '123456',db = 'jxz',charset = 'utf8') cur = connect.cursor(DictCursor)#指定游标的类型,字典类型 sql = 'select * from stu ' cur.execute(sql) res = cur.fetchall() connect.commit() print(res)
转载于:https://www.cnblogs.com/nagisaling/p/7809376.html
常用模块以及常用方法相关推荐
- python基础---常用模块的常用方法
python中OS常用方法 Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问 ...
- 6 获取当前模块_python常用模块的常用方法介绍
导入模块的一些语法 from random import randint#2.from 模块名 import 函数名,导入模块里的一个方法或变量from math import * #3.from 模 ...
- 【Python】常用模块(三)——collections模块中的几个常用方法详解
前言 本篇博客主要就少Python常用模块collections中的几个常用方法,作为一种更高级的数据结构,这个模块提供了几个高效的方法来处理数据. Counter Counter用于统计元素个数,具 ...
- python导入模块的常用方法_(9)python模块的定义、导入、优化,常用模块
[1]模块的定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑等:核心就是实现一个功能)本质上就是.py结尾的 python 文件 比如: 文件名 test.py ,对应的模块名就是 ...
- Python之几种常用模块
模块 注意事项: 所有的模块导入都应该尽量往上写内置模块扩展模块自定义模块 模块不会重复被导入 : sys.moudles 从哪儿导入模块 : sys.path import import 模块名模块 ...
- python常用模块大全总结-常用python模块
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. python常用模块什么是模块? 常见的场景:一个模块就是一个包含了py ...
- 对于python来说、一个模块就是一个文件-python常用模块
python常用模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用pyt ...
- python_fullstack基础(十一)-常用模块
python常用模块 re模块 一.正则表达式 在线测试工具 http://tool.chinaz.com/regex/ 1.字符组 : [字符组] 在同一个位置可能出现的各种字符组成了一个字符组,在 ...
- python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)
python全栈开发笔记第二模块 第四章 :常用模块(第二部分) 一.os 模块的 详解 1.os.getcwd() :得到当前工作目录,即当前python解释器所在目录路径 impor ...
- python最常用的编程方式是什么_python常用模块和对象编程
1.摘要 常用模块 对象编程 领域模型 2.常用模块 2.1shutil模块 2.1.1 shutil.copyfileobj(fsrc, fdst[, length]) 1 f = open(&qu ...
最新文章
- 《任正非:我若贪生怕死,何来让你们英勇奋斗》
- gsl eclipse
- 2021-9-下旬 数据结构-线性表-动态数组-java代码实现
- python 关于excelcsv与cookie的部分笔记
- 结构体跨函数应用(二)
- python __reduce__魔法方法_非常全的通俗易懂 Python 魔法方法指南(下)
- Bootstrap圣诞节主题商城网站模板
- 你的第一个 iOS 应用 – 2.开始上手
- python写入Excel时,将路径或链接以超链接的方式写入
- Spring中都用到了哪些设计模式
- C++之move提升copy性能
- carmaker的弱智算法
- win10多合一原版系统_制作WIN10多合一原版系统
- 相机成像原理RAW,RGB,YUV
- heic转换成jpg,学会这个方法就够了
- MySQL 日期格式化
- AirTrest连接模拟器和安卓手机
- 五大数据统计分析软件
- toad导入数据_Oracle 使用TOAD实现导入导出Excel数据
- C++题解:【NOIP2006PJ】Jam的计数法(count)