Python模塊

Python模塊


time模塊

#調(diào)用模塊:import+模塊名

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供邱縣網(wǎng)站建設(shè)、邱縣做網(wǎng)站、邱縣網(wǎng)站設(shè)計(jì)、邱縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、邱縣企業(yè)網(wǎng)站模板建站服務(wù),十多年邱縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

import time;

#獲取當(dāng)前時間戳 linux從70到38的毫秒數(shù)

print(time.time());#此方法計(jì)算系統(tǒng)執(zhí)行的時間

#休眠當(dāng)前線程,阻塞住當(dāng)前的線程,單位是秒

time.sleep(5);
print('休眠結(jié)束')

#單位為秒,例如:1.5e-06 科學(xué)計(jì)數(shù)法,1.5*10^6

#計(jì)算cpu執(zhí)行時間

print(time.clock())

#獲取世界標(biāo)準(zhǔn)時間

print(time.gmtime())

#獲取本地時間,結(jié)果為元組tuple

print(time.localtime())

#格式化時間y:年 m:月 d:日 H:時 M:分 S:秒 將時間元組轉(zhuǎn)換成為有格式的字符串

print(time.strftime('%y-%m-%d %H:%M:%S',time.localtime()))

#將格式字符串轉(zhuǎn)換為元組,好處是可以通過索引分別獲取每個元組

print(time.strptime('18-10-23 15:00:07','%y-%m-%d %H:%M:%S'))

#ctime將時間戳轉(zhuǎn)換成時間字符串類型 CHAR(字符串) CDATA(XML中的數(shù)據(jù):)<head>節(jié)點(diǎn)的內(nèi)容如果為字符串

CDATA</head>
print(time.ctime(time.time()))

random模塊

#調(diào)用模塊

import random

#生成0~1之間的隨機(jī)數(shù) 包含小數(shù)

print(random.random())

#獲取一個范圍之中的隨機(jī)整數(shù) 既包含a 又包含b

print(random.randint(0,10))

#隨機(jī)選擇序列中的元素

print(random.choice([1,2,3,4,5,6,7]))

#randrange(a,b) a~b之間的隨機(jī)整數(shù) 不包含b

print(random.randrange(0,10))

os模塊


#調(diào)用操作系統(tǒng)的模塊 是重點(diǎn)

import os#自適應(yīng)操作系統(tǒng)

#獲取當(dāng)前py文件運(yùn)行的目錄

print(os.getcwd());

#切換目錄 cd

os.chdir('F:\\Demo\\demo4');

#獲取當(dāng)前目錄 python . ..

print(os.curdir);

#上一級目錄 ..

print(os.pardir);

#創(chuàng)建目錄

os.mkdir('我是目錄')

#刪除目錄的操作必須是空目錄 Linux rm

os.rmdir('我是目錄')

#創(chuàng)建嵌套的目錄

os.makedirs('我是目錄/demo/demo1')

#刪除嵌套的目錄

os.removedirs('我是目錄/demo/demo1')

#展示當(dāng)前目錄下的所有文件和目錄 組裝成為一個列表

lists=os.listdir('F:\\Demo\\demo4')
print(lists)

#刪除文件

os.remove('HelloWorld')
os.rename('../demo3','demo7')

#查看文件的詳細(xì)信息

print(os.stat('內(nèi)置函數(shù).py'))

#文件分隔符 windows:\ Linux:/

print(os.sep)

#文件分隔符字符串 環(huán)境變量; Linux:

print(os.pathsep)

#行的終止符

print(os.linesep)

#直接執(zhí)行shell命令的方法 windows gbk python utf-8

os.system('ipconfig')

#獲取系統(tǒng)環(huán)境變量 封裝成了字典

print(os.environ)

#獲取文件的絕對路徑

print(os.path.abspath('內(nèi)置函數(shù).py'))

#將文件名和目錄以元組的形式進(jìn)行分割

print(os.path.split('F:\Demo\demo4\內(nèi)置函數(shù).py'))

#獲取文件的目錄名

print(os.path.dirname('F:\Demo\demo4\內(nèi)置函數(shù).py'))

#獲取文件名

print(os.path.basename('F:\Demo\demo4\內(nèi)置函數(shù).py'))

#判斷改文件是否存在

print(os.path.exists('F:\Demo\demo4\內(nèi)置函數(shù)1.py'))

#判斷是否為目錄

print(os.path.isdir('F:\Demo\demo4'))

#將兩個路徑組合在一起輸出

print(os.path.join('F:\Demo\demo4','demo5\demo6'))

re模塊


#操作正則表達(dá)式

import re
str='aa38bb56'

#\d 0~9
#findall方法:通配整個字符串 直到到字符串的末尾 把所有符合的條件的字符都獲取出來

result=re.findall('\d{2}',str)
print(result)

#search 檢索

str=r'D:\hehe.txt'; #取消掉\的特殊語義

#search只通配一次

str=re.search('^\w+@\w+\.\w+$','1018617499@qq.com')
print(str.group())#返回的是字符串

#正則分組 組名:name

strs=re.search('(?P<name>\w{3})','cmy')

#根據(jù)組名獲取數(shù)據(jù)

print(strs.group('name'))

#只有一次

result=re.match('ABC','ABC1234ABC')
print(result.group())

#按照表達(dá)式將字符串分割為列表

lists=re.split('\.','a.b.c.d')
print(lists)

#將字符串中的一部分替換為另一部分

print(re.sub('a','呵呵','aabbcc'))

#面向?qū)ο蟮乃枷?compile方法生成了一個正則表達(dá)式對象

reg=re.compile('^(1[0-2]\d)|(\d{1,2})$')
g=reg.search('-5')
print(g.group())

configparse模塊


#生成一個ini的配置文件
#導(dǎo)入模塊

import configparser

#生成文件句柄

config=configparser.ConfigParser()

#生成配置組 ini 文件 [MySQLd] default-character-set=utf-8 skip-grant-all

mysql:my.ini文件
config['namespace']={ #K,V
     'name':'zhangsan',
     'age':18
}

#在ini文件中 默認(rèn)的配置組 [DEFAULT]

with open('example.ini','a',encoding='utf-8') as file:
    config.write(file);

#讀取ini文件中內(nèi)容

config.read('example.ini');

#調(diào)用sections方法生成字典的結(jié)構(gòu)數(shù)據(jù) 發(fā)現(xiàn)只有一個namespace組 沒有

DEFAULT組
print(config.sections());

#打印DEFAULT組的內(nèi)容

od=config.defaults()#有序列表
for k,v in od.items():
    print("key:%s,Value:%s"%(k,v))
print(config['namespace']['name'])

#打印[DEFAULT] 配置組下的配置信息

print(config['DEFAULT']['port'])

hashlib加密模塊


#通過算法加密 為了保證數(shù)據(jù)在傳輸?shù)倪^程中安全性 序列化(程序傳輸數(shù)據(jù)的一種方式)
#rsa git() Linux(ssh免密碼登錄)
#md5 號稱世界上安全性最高的加密算法 不可逆 md5在線解密器
#BASE 64 可逆

import hashlib

#m對象 一個加密器

m=hashlib.sha256();

#加密設(shè)置字符集

m.update('cmy'.encode('utf-8'))

#輸出密文

print(m.hexdigest())
#sha256

logging模塊


#log 日志文件 .log 文件作為后綴 日志也是解決bug非常好的方式

#設(shè)置日志的輸出級別

import logging
#K:V

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%a,%d %b %Y %H:%M:%S',
                    filename='test.log'.encode('utf-8'),
                    filemode='w')

logging.debug('debug')
logging.info('info')
logging.warning('waring')
logging.error('error')
logging.critical('critical')

#獲取日志對象

logger=logging.getLogger('debug');

#配置日志文件的handler

fh=logging.FileHandler('logging.log');

#配置Console的Hanlder

sh=logging.StreamHandler();

#日志打印的格式

format=logging.Formatter('%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s');
fh.setFormatter(format)
sh.setFormatter(format);

#存回Logger對象

logger.addHandler(fh);
logger.addHandler(sh)

#輸出了五個級別 3個級別會在Console上

logger.debug('debug')
logger.info('info')
logger.warning('waring')
logger.error('error')
logger.critical('critical')

sys模塊


#python程序的命令行參數(shù)

import sys

#第一個參數(shù)是PY文件的絕對路徑

print(sys.argv)

#返回的是PYTHON程序中模塊的搜索路徑 一個模塊就是一個.py文件(尋找解釋器中內(nèi)置的.py文件)

print(sys.path)

#PYTHON解釋器的版本

print(sys.version)

#獲取到PYTHON程序所能接受的最大整數(shù)值 ±

print(sys.maxsize)

#返回操作系統(tǒng)的平臺名稱 win7 32 位

print(sys.platform)

#退出程序 強(qiáng)制關(guān)閉python程序的運(yùn)行

#sys.exit(0)
#input 允許用戶從Console輸入
sys.stdout.write('please:')

#打印readline獲取的列表中的所有元素

value=sys.stdin.readline()[:-1]
print('您輸入了:%s'%value)
#print('程序還沒退出')

json模塊


#序列化模塊:什么叫 序列化:序列化 是程序傳輸數(shù)據(jù)的一種手段,比如:內(nèi)存→硬盤 硬盤→內(nèi)存 線程→線程
#持久化:將程序內(nèi)存中的數(shù)據(jù)保存在硬盤上
#通過json模塊 將內(nèi)存中的數(shù)據(jù)持久的保存在硬盤上的某個文件中

import json

#字典變量

dicts={'name':'zhangsan','age':18};
#二進(jìn)制的數(shù)據(jù)內(nèi)容
data=json.dumps(dicts);
with open('data','w',encoding='utf-8') as file:
    #調(diào)用write方法寫入文件
    file.write(data);

#反序列化:序列化取反的意思 內(nèi)存到硬盤(序列化) 硬盤到內(nèi)存(反序列化)

f=open('data','r',encoding='utf-8');
data=f.read();

#將字典獲取出來

dicts=json.loads(data);
print(dicts)

#序列化和反序列化的操作 省略write和read操作 交給Python底層去實(shí)現(xiàn)

#序列化的數(shù)據(jù)

str='hiahia';
file=open('data','w',encoding='utf-8');
json.dump(str,file);

file=open('data','r',encoding='utf-8');
name=json.load(file);
print(name);

shelve模塊


import shelve #比json更簡單 只能是字典格式的 且key必須是字符串

#文件對象 無需借助open函數(shù)創(chuàng)建文件對象

file=shelve.open('shelve');
'''
#.bak dat dir
file['info']={'name':'張三'};
'''

#反序列化

data=file.get('info');
print(data);#shelve和json相比 操作更簡單  且數(shù)據(jù)的安全性更高

分享題目:Python模塊
轉(zhuǎn)載來源:http://muchs.cn/article34/johhse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、域名注冊、全網(wǎng)營銷推廣用戶體驗(yàn)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)