簡體   English   中英

Python的.format的多行參數

[英]Multiline arguments to Python's .format

我希望能夠打印如下字符串:

text1 v1 text2 v3
      v2       v4

vi是變量。 我嘗試了這個:

"text1 {} text2 {}".format("v1\nv2", "v3\nv4")

但是,可以預見的是,這給出了輸出

text1 v1
v2 text2 v3
v4

因為format第一個參數的換行符適用於整行。

有沒有什么好辦法可以將多行參數傳遞給format而不破壞整個格式化的字符串?

pip install tabulate

用Python,庫和命令行實用工具漂亮地打印表格數據。

from tabulate import tabulate
table =[["text1", "v1", "text2", "v3"],["", "v2", "", "v4"]]
print(tabulate(table))

“表”是父列表,它的元素將是要打印的表的行。

你實際上可以做到這一點

In [1]: print "text1 {} text2 {}\n      {}       {}".format("v1", "v3", "v2", "v4")
text1 v1 text2 v3
      v2       v4

要么

In [2]: print "text1\t{}\ttext2\t{}\n\t{}\t{}".format("v1", "v3", "v2", "v4")
text1   v1  text2   v3
        v2          v4

\\t表示制表符, \\n是換行符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM