Ji bo ku rêzek di Python de bi pêçandin (şikandina xêz) û qutkirina (kurtkirina) wê bi hejmarek keyfî ya karakteran ve, modula textwrap-ê ya pirtûkxaneya standard bikar bînin.
Agahiyên jêrîn li vir têne pêşkêş kirin.
- Pêçandina têlekî (xwarina rêzê):
wrap()
,fill()
- Têlên qutkirî (derxistin):
shorten()
- TextWrapper object
Ger hûn dixwazin di kodê de li şûna ku di encam de rêzikên dirêj li ser gelek rêzan binivîsin, li gotara jêrîn binêrin.
- Gotarên Têkildar:Nivîsandina rêzikên dirêj ên nivîsê li ser gelek rêzan di Python de
Pêçandina têlekî (xwarina rêzê):wrap(),fill()
Bi fonksiyona wrap() ya modula textwrap-ê, hûn dikarin navnîşek bi veqetandina peyvan veqetandî bistînin da ku di nav hejmarek keyfî ya karakteran de cih bigirin.
Ji bo firehiya argumana duyemîn hejmara tîpan diyar bike. Vebijêrk width=70 e.
import textwrap
s = "Python can be easy to pick up whether you're a first time programmer or you're experienced with other languages"
s_wrap_list = textwrap.wrap(s, 40)
print(s_wrap_list)
# ['Python can be easy to pick up whether', "you're a first time programmer or you're", 'experienced with other languages']
Bi karanîna navnîşa wergirtî, hûn dikarin rêzek ku ji hêla kodek nû ve hatî şikandin bi kirina jêrîn bistînin\n'.join(list)
print('\n'.join(s_wrap_list))
# Python can be easy to pick up whether
# you're a first time programmer or you're
# experienced with other languages
Fonksiyon fill() li şûna lîsteyek rêzika nû vedigerîne. Wekî ku di mînaka jorîn de piştî wrap()-ê koda jêrîn bicîh dike.\n'.join(list)
Dema ku hûn hewceyê navnîşek nebin lê hûn dixwazin rêzek bi firehiya sabît ji termînalê re derxînin ev hêsantir e, û hwd.
print(textwrap.fill(s, 40))
# Python can be easy to pick up whether
# you're a first time programmer or you're
# experienced with other languages
Ger argumana max_line were diyar kirin, dê hejmara rêzên piştî wê were derxistin.
print(textwrap.wrap(s, 40, max_lines=2))
# ['Python can be easy to pick up whether', "you're a first time programmer or [...]"]
print(textwrap.fill(s, 40, max_lines=2))
# Python can be easy to pick up whether
# you're a first time programmer or [...]
Ger ji holê were rakirin, rêzika jêrîn dê ji hêla xwerû ve di dawiyê de derkeve.[...]'
Ew dikare bi her rêzek bi cîhgira argumanê ve were guheztin.
print(textwrap.fill(s, 40, max_lines=2, placeholder=' ~'))
# Python can be easy to pick up whether
# you're a first time programmer or ~
Her weha hûn dikarin bi argumana destpêkê_indent rêzek ku li destpêka rêza yekem were zêdekirin diyar bikin. Ev dikare were bikar anîn dema ku hûn dixwazin destpêka paragrafê bişkînin.
print(textwrap.fill(s, 40, max_lines=2, placeholder=' ~', initial_indent=' '))
# Python can be easy to pick up whether
# you're a first time programmer or ~
Hişyar bin bi tîpên tam û nîv-spî.
Di textwrapê de, hejmara tîpan ji hêla hejmara karakteran ve tê kontrol kirin, ne ji hêla firehiya karakterê ve, û her du tîpên yek-byte û du-byte wekî yek karakter têne hesibandin.
s = '文字文字文字文字文字文字12345,67890, 文字文字文字abcde'
print(textwrap.fill(s, 12))
# 文字文字文字文字文字文字
# 12345,67890,
# 文字文字文字abcde
Ger hûn dixwazin nivîsek bi tîpên kanji yên tevlihev bi firehiyek sabît bipêçin, ji kerema xwe serî li jêrîn bidin.
Têlên qutkirî (derxistin):shorten()
Heke hûn dixwazin rêzan qut bikin û ji holê rakin, fonksiyona shorten() di modula textwrap de bikar bînin.
Di yekeyên peyvan de tê kurtkirin da ku hejmareke kêfî ya tîpan bicîh bîne. Hejmara tîpan, tevî rêzika ku kêmbûnê nîşan dide, kêfî ye. Rêza ku kêmasiyê destnîşan dike dikare bi cîhgira argumanê re were danîn, ku li jêr vedigere.[...]'
s = 'Python is powerful'
print(textwrap.shorten(s, 12))
# Python [...]
print(textwrap.shorten(s, 12, placeholder=' ~'))
# Python is ~
Lêbelê, rêzikên japonî, wek nimûne, nikarin baş bêne kurt kirin ji ber ku ew nikarin di peyvan de bêne dabeş kirin.
s = 'Pythonについて。Pythonは汎用のプログラミング言語である。'
print(textwrap.shorten(s, 20))
# [...]
Heke hûn dixwazin kurt bikin li şûna yekeyên peyvan tenê hejmara tîpan binirxînin, ew dikare bi hêsanî wekî jêrîn were bidestxistin.
s_short = s[:12] + '...'
print(s_short)
# Pythonについて。P...
TextWrapper object
Ger hûn ê gelek caran bi mîhengek sabît bipêçin () an jî tijî bikin, ew bikêr e ku hûn tiştek TextWrapper biafirînin.
wrapper = textwrap.TextWrapper(width=30, max_lines=3, placeholder=' ~', initial_indent=' ')
s = "Python can be easy to pick up whether you're a first time programmer or you're experienced with other languages"
print(wrapper.wrap(s))
# [' Python can be easy to pick', "up whether you're a first time", "programmer or you're ~"]
print(wrapper.fill(s))
# Python can be easy to pick
# up whether you're a first time
# programmer or you're ~
Heman mîhengan dikarin ji nû ve werin bikar anîn.