私はPythonプロジェクトで作業しています。文字列のクラスデータの書式設定に役立ついくつかのショートカットを使用したいと考えています。具体的には、'{a}{b}{c}'.format(**vars(self), [strlen, strlen, strlen])
のようなものを使用して、表示される各属性の文字列長を指定できるようにしたいと考えています。たとえば:varsまたは__dict__を使用したPython固定幅文字列フォーマット
class Dummy(object):
def __init__(self):
self.value1 = 'A VALUE'
self.value2 = 'ANOTHER VALUE'
self.value3 = 'THIRD VALUE'
def to_s(self):
# want value1 to be 20 chars
# value2 to be 8 chars
# value3 to be 10 chars
# is something similar to this possible
return '{value1},{value2},{value3}'.format(**vars(self), [20, 8, 10])
def to_s2(self):
# or will I have to reference each explicitly and specify the either padding or slicing?
return '{},{},{}'.format(self.value1.ljust(20), self.value2[:8], self.value3[:10])
私はそれがロングショットだ知っているが、これらのクラスのカップルは、30または40はattribsを持っており、これはなんとかであれば、それはそんなに簡単に生活になるだろう。
ありがとうございました。