Mencoba mencetak karakter unicode ke konsol menggunakan string.format()

di bawah ini cuplikan yang dimaksud:

print '{:─^10}'.format('') # Print '─' character 10 times

Saya menggunakan ini untuk membuat batas konsol yang bagus dan semacamnya. Masalahnya adalah, menjalankan ini di file py saya dengan # coding UTF-8 memberi saya: ValueError: Spesifikasi konversi tidak valid

Jika saya menjalankan skrip yang sama ini di shell python, ia akan mengeluarkan karakter yang lolos: '\xc4\xc4\xc4\x...'

Saya tidak tahu bagaimana (dalam skrip saya) membuat ini mencetak karakter '─'. Itu dapat mencetak karakter '─' dengan baik jika saya menggunakan print '─' karena pengkodean UTF-8, tetapi karena alasan tertentu tidak mengizinkannya masuk fungsi string.format().

Ada saran? Saya yakin ini mungkin mudah diperbaiki, tapi saya SANGAT baru mengenal pemrograman python.

Terima kasih sebelumnya.


person Aedaeum    schedule 09.12.2011    source sumber


Jawaban (1)


Dengan asumsi Anda menggunakan Python2, Anda perlu menggunakan string unicode (u''):

print u'{:─^10}'.format(u'')
person ekhumoro    schedule 09.12.2011
comment
wow Aku tidak percaya aku melewatkannya. Saya mencoba u di depan '{:─^10}' tetapi saya tidak berpikir untuk memasukkannya ke dalam argumen format. Terima kasih banyak! Aku tahu ini akan menjadi sederhana haha - person Aedaeum; 10.12.2011