1、mysqldb,cx_oracle,ibm_db,sqlite3
2、requests,urllib3,hashlib
3、xlrd,xlwt,openpyxl,csv,xml
4、json,yaml
5、os,sys
6、time,datetime
7、re,beautifulsoup,scrapy
8、selenium,unittest,htmltestrunner,ddt
9、pillow
一、資料庫
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mysql:mysqldb eg:import mysqldb,python2用此模組
pymysql eg:import pymysql,python3用此模組
連線資料庫:
conn = mysqldb.connect(host='10.180.29.100', port=3306, user='mob', passwd='mob123', db='mob', charset='utf8')
conn = pymysql.connect(host='10.180.29.100', port=3306, user='mob', password='mob123', db='mob', charset='utf8mb4')
建立游標:
cur = conn.cursor()
通過游標cur 操作execute()方法可以寫入純sql語句:
cur.execute("insert into student values('2','tom','3 year 2 class','9')")
另一種寫法:
#插入一條資料
sqli="insert into student values(%s,%s,%s,%s)"
cur.execute(sqli,('3','huhu','2 year 1 class','7'))
#一次插入多條記錄
#executemany()方法可以一次插入多條值,執行單挑sql語句,但是重複執行引數列表裡的引數,返回值為受影響的行數。
sqli="insert into student values(%s,%s,%s,%s)"
cur.executemany(sqli,[
('3','tom','1 year 1 class','6'),
('3','jack','2 year 1 class','7'),
('3','yaheng','2 year 2 class','7'),
])#查詢記錄
#cur.fetchone()、cur.scroll()、cur.fetchmany()、cur.fetchall()
fetchone()方法獲得表中一條資料,每執行一次,游標會從表中的第一條資料移動到下一條資料的位置,再次執行的時候得到的第二條資料,以此類推…
scroll()方法可以移動游標,eg:scroll(0,'absolute') 方法可以將游標定位到表中的第一條資料。
fetchmany(size=n) #可以加引數n,接收返回的n行資料,fetchall接收返回的所有資料
關閉游標:
cur.close()
commit方法:
conn.commit()
關閉資料庫連線:
conn.close()
oracle:cx_oracle eg:import cx_oracle
連線資料庫:
#3個引數分開寫
conn = cx_oracle.connect('test', 'test', '10.180.29.23:1521/orcl')
#3個引數連起來寫
conn = cx_oracle.connect('test/[email protected]:1521/orcl')
建立游標:
cur = conn.cursor()
通過游標cur 操作execute()方法可以寫入純sql語句:
cur.execute("insert into student values('2','tom','3 year 2 class','9')")
#cur.fetchone()、cur.fetchall()
fetchall接收返回的所有資料,fetchone()方法獲得表中一條資料。
db2:ibm_db eg: import ibm_db_dbi
連線資料庫
conn = ibm_db_dbi.connect('port = 50000;protocol = tcpip;', host='10.180.22.17',database='testdb', user='test', password='test@2018')
conn = ibm_db_dbi.connect(「port=50000;protocol=tcpip;」, host=db[「host」], database=db[「database」], user=db[「user」],password=db[「passwd」])
設定自動提交
conn.set_autocommit(true)
建立游標:
cur = conn.cursor()
剩下基本和mysql、oracle一樣
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sqlite3 eg:import sqlite3
連線資料庫
#資料庫檔案是test.db,如果檔案不存在,會自動在當前目錄建立:
conn = sqlite3.connect('test.db')
建立游標:
cur = conn.cursor()
剩下基本和mysql、oracle一樣
python 常用模組
1.告訴直譯器 找模組 import sysunix要絕度路徑 只有第一次匯入執行。name main 2.當做包,必須包含乙個命名為 init py的檔案 模組 3.dir看模組裡有什麼 下劃線開始,不是給模組外部用的。過濾 import copy n for n in dir copy if n...
python常用模組
logging 日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位 範圍進行修改 logging將日誌列印到螢幕,日誌級別大小關係為 critical error warning info debug notset,當然也可以自己定義日誌級別 預設logging預設的日誌級別...
python常用模組
collections提供了幾個便於使用的資料型別。1 namedtuple 這個資料型別生成可以使用呼叫屬性的方法來訪問元素內容的元祖 import collections cc collections.namedtuple sha x y get cc 1,2 print get.x,get.y...