tft每日頭條

 > 生活

 > invalid format怎麼解決

invalid format怎麼解決

生活 更新时间:2025-03-07 05:14:48

運行時突然報了一個:%d format: a number is required, not str

invalid format怎麼解決(解決報錯d)1

翻譯後就是:格式化時需要的是一個數字而不是一字符串

排查了一圈是數據庫連接導緻的問題,主要原因還是自己的疏忽導緻

# 部分代碼 def _db(sql): conn = pymysql.connect(host="101.101.12.86", port="3307", user="root", password="123456", db="django-dev", charset="utf8") ......

上述代碼中的port端口傳的值是字符串類型,抛錯原因也是因為是這個導緻的,以為它格式化時規定的是整數類型,也就是%d

我們再看源碼,源碼中有一段介紹,判斷了port如果不是int類型,就會抛錯誤

# 部分源碼 # 判斷port的類型是不是int,如果不是int就抛出錯誤 self.port = port or 3306 if type(self.port) is not int: raise ValueError("port should be of type int") # 最終的抛錯誤點是在這裡格式化的時候抛出來的 self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket")

解決方法:把port的類型修改為整數類型,再運行就行了

# 部分代碼 def _db(sql): conn = pymysql.connect(host="101.101.12.86", port=3307, user="root", password="123456", db="django-dev", charset="utf8") ......

以上總結或許能幫助到你,或許幫助不到你,但還是希望能幫助到你,如有疑問、歧義,評論區留言會及時修正發布,謝謝!

微信搜索公衆号:就用python

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved