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}")