hih*_*hey 4 python file word-wrap
我想写一个字符串到一个文件,但我想有一个指定的长度,例如,在文本文件中,我想写"Atom",我希望它具有从第1 - 6列的指定长度,并且下一个短语/单词,从第7-11行开始,接下来是13-16,等等...我想写一个文本文件说,random_text.txt,请帮忙.
谢谢!
基本上,为什么我需要它:
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
Run Code Online (Sandbox Code Playgroud)
在Python2.6或更高版本中,您可以使用str.format方法:
with open('random_text.txt', 'w') as f:
f.write('{0:6}{1:6}{2:4}'.format('Atom','word','next'))
Run Code Online (Sandbox Code Playgroud)
产生一个random_text.txt包含内容的文件
Atom word next
Run Code Online (Sandbox Code Playgroud)
冒号后面的数字表示宽度.例如,{0:6}将第0个参数格式化'Atom'为宽度为6的字符串.字符串可以通过使用格式"右对齐" {0:>6},还有其他选项.
string = "atom"
width = 6
field = "{0:<{1}}".format(string[:width], width)
Run Code Online (Sandbox Code Playgroud)
如果需要,这将被截断string,width因为您实际上无法指定格式字符串中的最大宽度,而只能指定字段将填充到的最小宽度。
使用str.format,定义字段宽度 ( :<width>) 并扩展数据 ( *<list>)。
>>> columns = ['aaaa', 'bbbbbb', 'ccc']
>>> print '{:4}{:6}{:3}'.format(*columns)
Run Code Online (Sandbox Code Playgroud)
此外,您可以滥用精度.8来修剪字符串字段。前 8 个设置最小字段宽度。
>>> print '{:8.8}'.format('Too long for this field')
Too long
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6603 次 |
| 最近记录: |