新版本pymysql模塊問題導致的錯誤,其他原因導致請繞道
Python代碼如下:
運行報錯: TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given
#!/usr/bin/python3 import pymysql sql = f"select * from serverlist where ip='192.168.10.36'" # 打開數據庫連接 db = pymysql.connect("192.168.10.10", "root", "password", "db_name", 3306 )
# 使用 cursor() 方法創建一個游標對象 cursor cursor = db.cursor() # 使用 execute() 方法執行 SQL 查詢 cursor.execute(sql) # 使用 fetchone() 方法獲取單條數據. data = cursor.fetchone() print (data) # 關閉數據庫連接 db.close()
兩種方法:
可能是新版本問題,我下面這1.0.1版本就有問題
檢查pymysql版本:
pip3 show pymysql
方法一:
可安裝舊版本解決報錯:
先卸載當前版本
pip3 uninstall pymysql
安裝指定0.10.1版本
pip3 install pymysql==0.10.1
再次運行腳本,就不再報錯了
方法二:
或者把連接語句做下修改,鍵值匹配
db = pymysql.connect(host="192.168.10.10", user="root", passwd="password", db="db_name", port=3306 )
再次運行腳本