Python 2 代码无法使用 Python 3 无法解决
Python 2 code not working with Python 3 can't solve
我正在升级一个旧的 python 2 程序,在升级代码和所有东西时遇到了很多麻烦,但多亏了文档,我才得以解决,但我想不通这一出。
它是一个非常简单的函数,但我不断收到我在 python2 中从未遇到过的奇怪错误,这是代码:
def log(self, message):
print("[SYSTEM][{0}]".format(datetime.strftime(time.gmtime()+message, "%Y-%m-%d %H:%M:%S")))
现在我得到的错误是这样的:
TypeError: can only concatenate tuple (not "str") to tuple
这是输出到控制台的样子:
[SYSTEM][2020-06-04 17:30:51]MessageHere
任何帮助都将不胜感激,因为这让我抓狂。
修复您的原始方法:
def log(self, message):
print("[SYSTEM][{0}]".format(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')) + message)
使用 f-strings 的更简洁的版本:
def log(self, message):
print(f"[SYSTEM][{datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')}]{message}")
我正在升级一个旧的 python 2 程序,在升级代码和所有东西时遇到了很多麻烦,但多亏了文档,我才得以解决,但我想不通这一出。
它是一个非常简单的函数,但我不断收到我在 python2 中从未遇到过的奇怪错误,这是代码:
def log(self, message):
print("[SYSTEM][{0}]".format(datetime.strftime(time.gmtime()+message, "%Y-%m-%d %H:%M:%S")))
现在我得到的错误是这样的:
TypeError: can only concatenate tuple (not "str") to tuple
这是输出到控制台的样子:
[SYSTEM][2020-06-04 17:30:51]MessageHere
任何帮助都将不胜感激,因为这让我抓狂。
修复您的原始方法:
def log(self, message):
print("[SYSTEM][{0}]".format(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')) + message)
使用 f-strings 的更简洁的版本:
def log(self, message):
print(f"[SYSTEM][{datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')}]{message}")