【问题标题】:print formatting in pythonpython中的打印格式
【发布时间】:2012-01-02 21:24:48
【问题描述】:

我有一个问题:如何在特定的标准输出列上打印一个字符?

我知道:

print '{0} and {1}'.format('spam', 'eggs')

在第一列打印垃圾邮件,在第二列打印鸡蛋。

但我想这样做:

column = 3
...
print '{column}'.format('spam')

干杯。

【问题讨论】:

  • 有时在编写快速而肮脏的脚本时,我知道使用.format(**locals())(所以我可以引用字符串中的局部变量)。

标签: python format pretty-print


【解决方案1】:

你有两种选择。

第一个选项 - 传入参数:

>>> print '{column}'.format(column='spam')
spam

第二个选项——解压字典(使用**):

>>> print '{column}'.format(**{'column':'spam'})
spam

【讨论】:

  • 我不知道你可以使用这样的别名。不错。
  • @rplnt:提供不带注释的链接是没有用的,因为您不知道链接是否对您有用,直到您单击它。但实际上,该链接提供了更多关于如何使用str 对象的.format() 方法的示例。
  • @Tadeck 我认为该链接非常不言自明(格式示例)。不过我以后会更小心的,谢谢。
  • @rplnt:谢谢。您可以通过以下方式为链接添加说明:[some explanation about Example.com](http://www.example.com/)。祝你好运。
【解决方案2】:

你可以做这样的事情,但它很丑。

column = 3
message = '{'+str(column)+'}'
print message.format(0,0,0,'spam')

【讨论】:

  • 这实际上给了我一个想法。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 2011-11-13
  • 2013-10-24
  • 1970-01-01
相关资源
最近更新 更多