无法与Python 3配合使用的Python 2代码无法解决

问题描述 投票:0回答:1

我正在升级一个旧的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

[任何帮助,不胜感激,因为这让我发疯。

logging python-2to3
1个回答
0
投票

修正您的原始方法:

def log(self, message):
    print("[SYSTEM][{0}]".format(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')) + message)

使用f字符串的更干净的版本:

def log(self, message):
    print(f"[SYSTEM][{datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')}{message}")
© www.soinside.com 2019 - 2024. All rights reserved.