0

私が試していたテキストファイルに書き込むのに最適なものは何ですか

>>> a = ['short', 'longline', 'verylongline']
>>> b = [123, 2347575, 8]
>>> ww = open("write_proper.txt", "w")
>>> for each in xrange(3):
...    ww.write("%s\t%s\n" % (a[each], b[each]))
...
>>> ww.close()

出力を生成したもの:

short   123
longline    2347575
verylongline    8

きれいに見えるようにコンテンツを適切に配置する方法はありますか:

short           123
longline        2347575
verylongline    8

コンテンツの最長の長さを 1 列目に考慮し、それに応じて 2 列目を配置するようにします。

4

2 に答える 2

0

もう少し高度なソリューション:

a = ['short', 'longline', 'verylongline']
b = [123, 2347575, 8]

items = zip(a, b)
awidth = max(len(item) for item in a)
line_format = '{label:<{awidth}} {value}\n'

with open('write_proper.txt', 'w') as f:
    for label, value in items:
        line = line_format.format(**locals())
        f.write(line)
于 2014-10-15T22:27:29.627 に答える