Bir program için özel olarak oluşturulmuş giriş dosyaları oluşturuyorum ve bunu yapmak için küçük bir python çizgi işareti kullanın. Eski kod, fortran formatı ifadelerinden yararlandı. Python'un (henüz bulamadığım) işlevleri için doğrudan bir dönüşüm kümesi olmadıkça, python'un biçimlendirmesinin işi yapacağını düşünmüştüm. Fortranda ÖrneğinPython3.2 Str.format değeri tekrarı
: it can Genel olarak, ama belli bir değerin tekrarını için bir yol bulamıyorum
FORMAT (2A1, I3, **12I5**, F8.3, A7). The "12I5" statement translates to 12 integer values of width 5.
ben metin olarak benim biçim çağrısında 12 ürün olabilir biliyorum (örneğin: ...{0:5d}, {1:5d}, {2:5d}....
), ama yukarıdaki fortran örneği gibi basitleştirilmiş bir forma sahip olmanın bir yolu olup olmadığını merak ediyordum.
Kaçırdığım bir şey var mı, yoksa bu mümkün değil ve formattaki her öğeyi açıkça yazmalı mıyım?
-Cheers, Chris. İşte düzenlemek
Şu anda ne yapıyorum daha açık bir örneğidir:
>>> ---tester = ["M", "T", 1111, 2222, 234.23456, "testing"]
>>> ---fmt = "{0:1}{1:1}, {2:3d}, {3:5d}, {4:8.3F}, {5:>7}"
>>> ---print(fmt.format(*tester))
MT, 13, 1234, 234.235, testing
Ben
>>> ---tester = ["M", "T", 1111, **2222, 3333, 4444**, 234.23456, "testing"]
>>> ---fmt = "{0:1}{1:1}, {2:3d}, **3*{3:5d}**, {4:8.3F}, {5:>7}"
>>> ---print(fmt.format(*tester))
Parlak. Python için% sözdizimini gerçekten bildiğimi sanmıyorum ve bu da işleri güzelce temizliyor, teşekkürler çocuklar. – Ponml
Bana bu hile tanıtımı için Raymond Hettinger'e teşekkür edebilirsin. % -formatting sözdizimi aslında "eski stil" (Python 2.x) biçimlendirmesidir. Bu, 3.x için saklanmıştı, çünkü onu kaldırmak, geriye dönük uyumluluk kabusuydu, ancak bu gibi durumlar için kullanışlı olduğu ortaya çıkıyor. – ncoghlan