首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >格式化输出字符串,右对齐

格式化输出字符串,右对齐
EN

Stack Overflow用户
提问于 2011-11-23 06:03:04
回答 5查看 327.2K关注 0票数 180

我正在处理一个包含坐标x,y,z的文本文件

代码语言:javascript
复制
     1      128  1298039
123388        0        2
....

每一行都被分隔为3个项目,使用

代码语言:javascript
复制
words = line.split()

在处理数据之后,我需要将坐标写回到另一个txt文件中,以便每列中的项都正确对齐(以及输入文件)。每条线都由坐标组成

代码语言:javascript
复制
line_new = words[0]  + '  ' + words[1]  + '  ' words[2].

在C++中有没有像std::setw()这样的操纵器允许设置宽度和对齐方式?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-23 06:06:39

使用较新的str.format syntax尝试此方法

代码语言:javascript
复制
line_new = '{:>12}  {:>12}  {:>12}'.format(word[0], word[1], word[2])

下面是如何使用旧的Python语法(对于不支持str.format的旧版本的%很有用):

代码语言:javascript
复制
line_new = '%12s  %12s  %12s' % (word[0], word[1], word[2])
票数 277
EN

Stack Overflow用户

发布于 2011-11-23 06:07:04

可以通过使用rjust来实现:

代码语言:javascript
复制
line_new = word[0].rjust(10) + word[1].rjust(10) + word[2].rjust(10)
票数 62
EN

Stack Overflow用户

发布于 2018-08-30 20:15:48

我真的很喜欢Python 3.6+中一种新的文字字符串插值:

代码语言:javascript
复制
line_new = f'{word[0]:>12}  {word[1]:>12}  {word[2]:>12}'

参考:PEP 498 -- Literal String Interpolation

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8234445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档