首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python-向字符串添加指定宽度

Python-向字符串添加指定宽度
EN

Stack Overflow用户
提问于 2011-12-11 03:48:22
回答 3查看 9.4K关注 0票数 5

我想写一个字符串到一个文件,但我想要有一个指定的长度,例如,在文本文件中,我想写"Atom",我想要它有一个指定的长度,从第1-6列,下一个短语/单词,从第7-11列,从13-16,等等...我想写一个文本文件,比如,random_text.txt,请帮帮忙。

谢谢!

基本上,我需要它的原因:

代码语言:javascript
运行
复制
Column 1-6 Record Name
Column 7-11 Serial Number
Column 13-16 ATOM name/Type
Column 17 Alternate Location Indicator
Column 18-20 Residue Name
Column 22 Chainidentifier 
Column 23-26 Residue sequence number
Column 27 Code for insertion fo residues
Column 31-38 X-value
Column 39-46 Y-value
Column 47-54 Z-Value
Column 55-60 Occupency
Column 61-66 Temperature (Default 0.0)
Column 73-76 Segment identifier
Column 77-78 Element Symbol
Column 79-80 Charge on atom
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-11 03:59:22

在Python2.6或更高版本中,您可以使用str.format方法:

代码语言:javascript
运行
复制
with open('random_text.txt', 'w') as f:
    f.write('{0:6}{1:6}{2:4}'.format('Atom','word','next'))

生成包含内容的文件random_text.txt

代码语言:javascript
运行
复制
Atom  word  next

冒号后面的数字表示宽度。例如,{0:6}将第0个参数'Atom'格式化为宽度为6的字符串。可以使用格式{0:>6}对该字符串进行“右对齐”,并且存在other options as well

票数 8
EN

Stack Overflow用户

发布于 2016-09-06 22:56:00

使用str.format,定义字段宽度(:<width>)并扩展数据(*<list>)。

代码语言:javascript
运行
复制
>>> columns = ['aaaa', 'bbbbbb', 'ccc']
>>> print '{:4}{:6}{:3}'.format(*columns)

此外,您可以滥用精度.8来裁剪字符串字段。前8个设置最小字段宽度。

代码语言:javascript
运行
复制
>>> print '{:8.8}'.format('Too long for this field')
Too long
票数 5
EN

Stack Overflow用户

发布于 2011-12-11 04:02:00

代码语言:javascript
运行
复制
string = "atom"
width = 6
field = "{0:<{1}}".format(string[:width], width)

这将在必要时将string截断为width,因为您实际上不能在格式字符串中指定最大宽度,而只能指定字段将填充到的最小宽度。

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

https://stackoverflow.com/questions/8459364

复制
相关文章

相似问题

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