我正在编写一个 Python 脚本,其中包含一个包含大型多行字符串的部分,该字符串还需要扩展变量。我习惯于在 Python 2.6 或 Python 3 中按以下方式执行此操作:
message = """
Hello, {foo}
Sincerely, {bar}
"""
print (message.format(foo = "John", bar = "Doe"))
但是,工作中的服务器运行的是旧版本的 Python (2.3.4),它不支持 string.format。在旧的 Python 版本中有什么方法可以做到这一点?可以使用 % 运算符吗?我试过了,但似乎没有用:
message = """
Hello, %(foo)
Sincerely, %(bar)
""" % {'foo': 'John', 'bar': "Doe"}
我可以在不使用多行字符串的情况下做到这一点,但我需要格式化的消息非常大,有很多变量。在 Python 2.3.4 中有一种简单的方法可以做到这一点吗? (仍然是 Python 初学者,如果这是一个愚蠢的问题,我们深表歉意。)
最佳答案
你想说
message = """
Hello, %(foo)s
Sincerely, %(bar)s
""" % {'foo': 'John', 'bar': "Doe"}
注意最后的 s
,这使得通用格式 "%(keyname)s"% {"keyname": "value"}
关于Python:使用变量格式化多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911261/