python-----模塊【第一部分】-----

一.hashlib(md5)python

1 import hashlib 2 obj = hashlib.md5('dsfd'.encode('utf-8')) 3 obj.update('123'.encode('utf-8')) 4 print(obj.hexdigest())

二.randomjson

1.randintapp

 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)

 

三.getpassdom

1 #在用戶輸入密碼時,影藏密碼,在cmd中運行有效
2 import getpass
3 val = getpass.getpass('請輸入你的密碼:')
4 print(val)

四.ossocket

1.os.path.exists()ide

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()spa

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()code

1 #獲取當前目錄下第一層的全部文件,返回一個列表
2 import os
3 file_name = 'D:\\code'
4 result = os.listdir(file_name)
5 print(result)

5.os.walk() / os.path.join()orm

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
相關文章
相關標籤/搜索