当前位置:
首页 > temp > 简明python教程 >
-
python-----模块【第一部分】-----
一.hashlib(md5)
1 import hashlib
2 obj = hashlib.md5('dsfd'.encode('utf-8'))
3 obj.update('123'.encode('utf-8'))
4 print(obj.hexdigest())
二.random
1.randint
1 #一般配合chr / ord 使用,生成随机验证码 2 #chr:给定一个int型,把int型转换为ascii码对照表中的字母 3 #和chr作用相反 4 5 #产生一个四位的随机验证码 6 import random 7 lis = [] 8 for i in range(4): 9 v1 = random.randint(65,90) 10 v2 = chr(v1) 11 lis.append(v2) 12 result = ''.join(lis) 13 print(result)
三.getpass
1 #在用户输入密码时,影藏密码,在cmd中运行有效 2 import getpass 3 val = getpass.getpass('请输入你的密码:') 4 print(val)
四.os
1.os.path.exists()
1 #判断一个文件路径是否存在 2 import os 3 file_name = 'D:\\python\\code' 4 if not os.path.exists(file_name): 5 print('文件路径不存在')#可以创建 6 else: 7 print('文件路径已经存在')
2.os.path.dirname()
1 #返回一个路径的上级一目录 2 import os 3 file_name = 'D:\\python\\code' 4 result = os.path.dirname(file_name) 5 print(result)
3.os.path.abspath()
1 #获取一个文件的绝对路径 2 import os 3 file_name = 'x.py' 4 result = os.path.abspath(file_name) 5 print(result)
4.os.listdir()
1 #获取当前目录下第一层的所有文件,返回一个列表 2 import os 3 file_name = 'D:\\code' 4 result = os.listdir(file_name) 5 print(result)
5.os.walk() / os.path.join()
1 #os.walk 获取当前目录下所有层级的文件 2 #os.path.join 可以把两个或多个路径拼接起来 3 import os 4 file_name = 'D:\\code\\day' 5 result = os.walk(file_name) 6 for a,b,c in result: 7 for i in c: 8 val = os.path.join(a,i) 9 print(val)
6.os.makedirs()
1 #创建新文件夹 2 import os 3 os.makedirs('text')
7.os.stat('目标文件').st_size
1 #获取文件大小 2 import os 3 file_size = os.stat('455698.mp4').st_size 4 print(file_size)
8.os.rename()
1 #对文件进行重命名 2 os.rename('db','bb')
五.sys
1.argv
1 #获取解释器命令行路径 2 import sys 3 print(sys.argv) 4 ############### 5 #接受两个参数,一个参数为文件名,一个为内容,把内容写到文件中 6 #D:\python\python37 D:\code\x.py 文件名 内容 7 import sys 8 data = sys.argv #[ D:\code\x.py , 文件名 , 内容] 9 file_name = data[1] 10 file_data = data[2] 11 with open(file_name, mode = 'w', encoding = 'utf-8') as f: 12 f.write(file_data)
2.sys.path / sys.path.append()
1 #默认python导入模块时,去sys.path路径里面挨个查找 2 #也可以添加查找路径 sys.path.append() 3 import sys 4 data = sys.path 5 for item in data: 6 print(item) 7 ######添加查找路径 8 import sys 9 os.path.append('D:\xxxx\xxx')
六.json
#json是一个特殊的字符串 【python中元祖和集合不能json】
1.dumps / dump
1 #序列化 把python中的数据类型序列化为字符串 2 data = [11,'dd','liyang',{'k1':1,'k2':2}] 3 import json 4 result = json.dumps(data) 5 print(result,type(result)) #注意 列表或字典中如有中文,序列化时保留中文显示
2 data = [11,'dd','liyang',{'k1':1,'k2':'张杰'}]
3 import json
4 result = json.dumps(data,ensure_ascii = False)
5 print(result,type(result))
1 #dump 可以把序列化后的数据写入文件中 2 import json 3 data = [11,22,{'k1':1}] 4 f = open('D:\\code\\x.txt', mode = 'w', encoding = 'utf-8') 5 json.dump(data,f) 6 f.close 7 print('写入成功')
2.loads / load
1 #反序列化 把一个字符串转换为python中的数据类型 2 import json 3 v2 = '["k2",123]' 4 result = json.loads(v2) 5 print(result,type(result))
1 #load 读取文件中被序列化的字符串,并进行反序列化 2 import json 3 f = open('D:\\code\\day\\x.txt', mode = 'r', encoding = 'utf-8') 4 print(json.load(f)) 5 f.close
3.pickle
#json,优点:所有语言通用;缺点:只能序列化基本的数据类型 list/dict/int... #pickle,优点:python中所有的东西都能被他序列化(socket对象);缺点:序列化的内容#只有python认识。\ """ import pickle v = {1,2,3,4} val = pickle.dumps(v) print(val) data = pickle.loads(val) print(data,type(data)) """ """ def f1(): print('f1') v1 = pickle.dumps(f1) print(v1) v2 = pickle.loads(v1) v2() """
七.shutil
1.rmtree
1 #删除文件目录 2 import shutil 3 shutil.rmtree('text')
2.move
1 #重命名 2 import shutil 3 shutil.move('ddd','text')
3.make_archive
1 #压缩文件 2 import shutil 3 shutil.make_archive('压缩后的文件名', 'zip', '压缩路径')
4.unpack_archive
1 #解压缩文件 2 import shutil 3 shutil.unpack('要解压压缩件名', extract_dir=r, '要解压到哪里', format = 'zip')
5.##################示例
1 import os 2 import shutil 3 from datetime import datetime 4 ctime = datetime.now().strftime('%Y-%m-%d-%H-%M-%S') 5 6 # 1.压缩 text文件夹 zip 7 # 2.放到到 code 目录(默认不存在) 8 # 3.将文件解压到D:\x1目录中。 9 if not os.path.exists('codes'): 10 os.makedirs('codes') 11 shutil.make_archive(os.path.join('codes','times'), 'zip', 'D:\\code\\day') 12 file_name = os.path.join('codes','times')+'.zip' 13 shutil.unpack_archive(file_name, 'D:\\x1',format = 'zip')
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数