一.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.ra ...
一.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)View Code
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')View Code