我想将一堆正值和负值写入文本文件,如下所示
1 12.203026 2.291063 -0.061603
1 -0.736147 1.353548 -1.347932
6 0.728048 1.348907 0.247566
6 -0.728048 1.348907 -10.247565
1 10.736147 1.353547 1.347932
1 -1.203026 12.291063 0.061604
6 11.583889 0.179143 -10.258947
Run Code Online (Sandbox Code Playgroud)
当我写作时,它应该如上所述沿小数点对齐.我使用以下f.write()命令编写的代码,如下所示.
f.write('%s %2.6f %2.6f %2.6f\n' % (a, x, y, z ))
Run Code Online (Sandbox Code Playgroud)
出去
1 12.203026 2.291063 -0.061603
1 -0.736147 1.353548 -1.347932
6 0.728048 1.348907 0.247566
6 -0.728048 1.348907 -10.247565
1 10.736147 1.353547 1.347932
1 -1.203026 12.291063 0.061604
6 11.583889 0.179143 -10.258947
Run Code Online (Sandbox Code Playgroud)
格式中的第一个数字是字符总数,而不是小数点前的数字.当该数字太小时,它会通过丢弃所有填充来补偿.要得到你想要的东西,你需要使用%10.6f,而不是%2.6f.这是1 -,初始数字为2,小数点为1,小数点后6位数 - 1 + 2 + 1 + 6 = 10.
| 归档时间: |
|
| 查看次数: |
3626 次 |
| 最近记录: |