python(五)模块
生活随笔
收集整理的這篇文章主要介紹了
python(五)模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
列表生成式
需求:要產生1-10的隨機數字,不足兩位的前面補0,注意01,02,03......前面補了0就不是int類型所以要轉換為字符串,1,2,3.....這樣的才屬于int類型
正常的寫法:
f = [ ]for i in range(1,11):
f.append(str(i).zfill(2))#因為要產生兩個數字,不足補0,01,02不是int類型是字符串
print(f)
打印結果:
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10']
列表生成式的寫法:
f1 =[str(i).zfill(2) for i in range(1,11)]print(f1)
打印結果:
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10']
用列表生成式寫出創建10個文件及10個文件夾:
#創建10個txt文件f1 =[open('%s.txt'%i,'w') for i in range(10)]
#創建10個文件夾
import os
f2= [os.mkdir(str(i)) for i in range(10)]#文件夾名字類型不能是數字需先轉為字符串
三元表達式
三元表達式的寫法:
sex_tag = 0if sex_tag == 0:
sex='女'
else:
sex='男'
#上面的判斷寫成三元表達式:
sex ='女' if sex_tag == 0 else sex='男' #if滿足取前面否則取后面
排序寫法:
#升序的排列 s='1283225'f=['42','2','1']
print(sorted(f))
print(sorted(s))
打印結果:
['1', '2', '42']
['1', '2', '2', '2', '3', '5', '8']
f=['42','2','1']
print(sorted(f,reverse=True))
print(sorted(s,reverse=True))
打印結果:
['42', '2', '1']
['8', '5', '3', '2', '2', '2', '1']
python的os模塊補充
?
#getcwd獲取當前路徑import os
print(os.getcwd())#獲取當前的路徑
#進入到某個路徑下創建文件
import os
os.chdir(r'D:\untitled1\day6模塊')#進入某個文件夾
print(os.getcwd())#獲取當前路徑
open('dm.txt','w')#創建一個文件
#os.system及os.popen都是執行操作系統命令,前者拿不到執行結果,后者可以拿到執行結果
import os
os.chdir(r'C:\Users\dm.liang\Desktop')
print(os.getcwd())
os.system('dir')#system是執行操作系統命令,dir看桌面上的文件
#os.popen
import os
os.chdir(r'C:\Users\dm.liang\Desktop')
os.system('ipconfig')#os.system執行操作系統命令,但是拿不到結果
result=os.popen('ipconfig').read()#os.popen執行操作系統命令,可以拿到結果
print(result)
import os
os.path.getatime()#括號內寫上文件名,可以獲取文件創建時間
os.path.getatime()#獲取文件最后訪問時間
os.path.getmtime()#獲取文件最后修改時間
os.path.join()#拼接路徑的
os.path.exists()#判斷目錄、文件是否存在的
os.path.split()#分隔文件路徑和文件名
#看盤中中有多少.mp4的視頻
import os
for cur_dir,dirs,files in os.walk(r'D:/'):
print(cur_dir)#當前循環到哪個目錄了
print(dirs)#當前目錄下的所有文件夾
for f in files:#當前目錄下所有的文件
if f.endswith('.mp4'):
print('發現小電影%s,目錄正在%s'%(f,cur_dir))
?
time模塊
#時間戳:124125411 格式化的時間:2019-05-20 12:00:00import time
result=time.time()#獲取當前的時間戳
print(result)
res=time.strftime('%Y-%m-%d %X')#轉換為當前格式化的時間
print(res)
#時間戳跟格式化時間轉換需先存時間元組 import time
time_tuple = time.gmtime(124244545)#把時間戳轉換成時間元組,時間戳跟格式化時間轉換需先存時間元組
res=time.strftime('%Y-%m-%d %H:%M:%S',time_tuple)#轉換為當前格式化的時間
print(res)
#取當地時區 import time
time_tuple = time.localtime(124244545)#取當地時間用localtime
res=time.strftime('%Y-%m-%d %H:%M:%S',time_tuple)#轉換為當前格式化的時間
print(res)
?python操作mysql
注意:查詢的sql不需要commit,但是update,delete,insert語句需要commit
#數據庫操作查詢語句import pymysql
#連接數據庫,其中port是int類型,charset='utf8'
coon=pymysql.connect(host='118.24.3.40',port=3306,user='jxz',password='123456',db='jxz',charset='utf8')
cur = coon.cursor()#建立游標就相當于倉庫管理員,讓倉庫管理員給你去拿數據
sql ='select * from app_myuser limit 5;'
cur.execute(sql)#execute只是執行sql語句不能返回結果
res=cur.fetchall()#獲取所有的結果
print(res)
cur.close()#游標關閉
coon.close()#連接關閉
#數據庫操作插入語句 import pymysql
#連接數據庫,其中port是int類型,charset='utf8'
coon=pymysql.connect(host='118.24.3.40',port=3306,user='jxz',password='123456',db='jxz',charset='utf8')
cur = coon.cursor()#建立游標就相當于倉庫管理員,讓倉庫管理員給你去拿數據
sql ="insert into app_myuser(username,passwd,is_admin) values ('ldm','99889988','819');"
cur.execute(sql)#execute只是執行sql語句不能返回結果
coon.commit()#所有的update,insert,delete語句都要修改數據庫數據需要commit下
res=cur.fetchall()#獲取所有的結果
print(res)
cur.close()#游標關閉
coon.close()#連接關閉 注意:如果執行update,delete,insert語句不想寫commit,可以直接在數據庫連接后面加autocommit =True import pymysql
#連接數據庫,其中port是int類型,charset='utf8'
coon=pymysql.connect(host='118.24.3.40',
port=3306,user='jxz',
password='123456',db='jxz',
charset='utf8',
autocommit =True
)
cur = coon.cursor()#建立游標就相當于倉庫管理員,讓倉庫管理員給你去拿數據
sql ="insert into app_myuser(username,passwd,is_admin) values ('ldm','99889988','819');"
cur.execute(sql)#execute只是執行sql語句不能返回結果
res=cur.fetchall()#獲取所有的結果
print(res)
cur.close()#游標關閉
coon.close()#連接關閉
#fetchone與fetchall的區別是前者sql執行結果知道只能返回一條結果,后者是sql返回所有的結果 import pymysql
#連接數據庫,其中port是int類型,charset='utf8'
coon=pymysql.connect(host='118.24.3.40',port=3306,user='jxz',password='123456',db='jxz',charset='utf8')
cur = coon.cursor()#建立游標就相當于倉庫管理員,讓倉庫管理員給你去拿數據
sql ="select * from app_myuser where username='ldm';"
cur.execute(sql)#execute只是執行sql語句不能返回結果
res=cur.fetchone()#獲取一條結果
print(res)
cur.close()#游標關閉
coon.close()#連接關閉
#如果想返回的結果展示字典形式,就在建立游標的時候加上pymysql.cursors.DictCursor
import pymysql
#連接數據庫,其中port是int類型,charset='utf8'
coon=pymysql.connect(host='118.24.3.40',port=3306,user='jxz',password='123456',db='jxz',charset='utf8')
cur = coon.cursor(pymysql.cursors.DictCursor)#建立游標就相當于倉庫管理員,讓倉庫管理員給你去拿數據
sql ="select * from app_myuser where username='ldm';"
cur.execute(sql)#execute只是執行sql語句不能返回結果
res=cur.fetchone()#獲取所有的結果
print(res)
cur.close()#游標關閉
coon.close()#連接關閉
?md5加密
md5加密用到hashlib模塊,md5加密是不可逆的,加密后是轉換不回來的
#獲取md5加密后的結果 import hashlibs='123456'
s.encode()#不能對字符串進行加密需要先轉換為二進制
m =hashlib.md5(s.encode())#加密
res = m.hexdigest()#獲取加密后結果
print(res)
?寫入excel
import xlwtbook=xlwt.Workbook()#新建一個excel
sheet=book.add_sheet('團建名額表')#新建一個sheet頁,名字叫團建名額表
sheet.write(0,0,'姓名')#第一個0是行,第二個0是列,表示第一行第一列寫上‘姓名’
sheet.write(0,1,'年齡')#第一行第二列寫上年齡
book.save('tuanjian.xls')#保存
?
轉載于:https://www.cnblogs.com/dmbk/p/10821427.html
總結
以上是生活随笔為你收集整理的python(五)模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怠速到4000转不能持久就会自动下降?
- 下一篇: Python基础(偏函数)