所以我有以下内容:
myString = "This is %s string. It has %s replacements."
myParams = [ "some", "two" ]
# This is a function which works (and has to work) just like that
myFunction(myString, myParams)
Run Code Online (Sandbox Code Playgroud)
现在,当我调试时,我执行以下操作:
print("Debug: myString = " + myString)
print("Debug: myParams = " + myParams)
Run Code Online (Sandbox Code Playgroud)
但我想直接在一个印刷品中得到它,如:
"Debug: This is some string. It has two replacements."
Run Code Online (Sandbox Code Playgroud)
这有可能吗?就像是
print("Debug: myString = " + (myString % myParams))
Run Code Online (Sandbox Code Playgroud)
?
你需要使用一个元组 ; 将您的列表转换为元组,并且工作得很好:
>>> myString = "This is %s string. It has %s replacements."
>>> myParams = [ "some", "two" ]
>>> myString % tuple(myParams)
'This is some string. It has two replacements.'
Run Code Online (Sandbox Code Playgroud)
定义myParams为一个元组开头:
>>> myString = "This is %s string. It has %s replacements."
>>> myParams = ("some", "two")
>>> myString % myParams
'This is some string. It has two replacements.'
Run Code Online (Sandbox Code Playgroud)
您可以将它组合成一个函数:
def myFunction(myString, myParams):
return myString % tuple(myParams)
myFunction("This is %s string. It has %s replacements.", ("some", "two"))
Run Code Online (Sandbox Code Playgroud)
或者更好的是,制作myParams一个全能的论点,它总是解析为一个元组:
def myFunction(myString, *myParams):
return myString % myParams
myFunction("This is %s string. It has %s replacements.", "some", "two")
Run Code Online (Sandbox Code Playgroud)
后者是logging.log()功能(和相关功能)已经完成的功能.
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |