પાયથોનમાં સ્ટ્રિંગને લપેટીને (લાઇન બ્રેકિંગ) અને અક્ષરોની મનસ્વી સંખ્યામાં તેને કાપીને (સંક્ષિપ્ત કરીને) ફોર્મેટ કરવા માટે, પ્રમાણભૂત લાઇબ્રેરીના ટેક્સ્ટવ્રેપ મોડ્યુલનો ઉપયોગ કરો.
નીચેની માહિતી અહીં આપવામાં આવી છે.
- સ્ટ્રિંગ રેપિંગ (લાઇન ફીડ):
wrap()
,fill()
- ટ્રંકેટ સ્ટ્રીંગ્સ (બાદવામાં આવેલ):
shorten()
- TextWrapper ઑબ્જેક્ટ
જો તમે આઉટપુટને બદલે કોડમાં બહુવિધ રેખાઓ પર લાંબી સ્ટ્રીંગ્સ લખવા માંગતા હો, તો નીચેનો લેખ જુઓ.
સ્ટ્રિંગ રેપિંગ (લાઇન ફીડ):wrap(),fill()
ટેક્સ્ટવ્રેપ મોડ્યુલના ફંક્શન wrap() સાથે, તમે અક્ષરોની મનસ્વી સંખ્યામાં ફિટ થવા માટે શબ્દ વિરામ દ્વારા વિભાજિત સૂચિ મેળવી શકો છો.
બીજી દલીલ પહોળાઈ માટે અક્ષરોની સંખ્યા સ્પષ્ટ કરો. મૂળભૂત પહોળાઈ=70 છે.
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']
પ્રાપ્ત સૂચિનો ઉપયોગ કરીને, તમે નીચે પ્રમાણે કરીને નવી લાઇન કોડ દ્વારા તૂટેલી સ્ટ્રિંગ મેળવી શકો છો\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
ફંક્શન ફિલ() યાદીને બદલે નવી લાઇન સ્ટ્રિંગ આપે છે. તે ઉપરના ઉદાહરણની જેમ wrap() પછી નીચેના કોડને એક્ઝિક્યુટ કરવા જેવું જ છે.\n'.join(list)
જ્યારે તમને સૂચિની જરૂર ન હોય પરંતુ ટર્મિનલ વગેરેમાં નિશ્ચિત-પહોળાઈની સ્ટ્રિંગ આઉટપુટ કરવા માંગતા હો ત્યારે આ વધુ અનુકૂળ છે.
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
જો દલીલ max_line ઉલ્લેખિત છે, તો તે પછીની રેખાઓની સંખ્યા અવગણવામાં આવશે.
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 [...]
જો અવગણવામાં આવે, તો નીચેની સ્ટ્રિંગ મૂળભૂત રીતે અંતમાં આઉટપુટ થશે.[...]'
તે દલીલ પ્લેસહોલ્ડર સાથે કોઈપણ સ્ટ્રિંગ દ્વારા બદલી શકાય છે.
print(textwrap.fill(s, 40, max_lines=2, placeholder=' ~'))
# Python can be easy to pick up whether
# you're a first time programmer or ~
તમે પ્રારંભિક_ઇન્ડેન્ટ દલીલ સાથે પ્રથમ લાઇનની શરૂઆતમાં ઉમેરવા માટે સ્ટ્રિંગનો ઉલ્લેખ પણ કરી શકો છો. જ્યારે તમે ફકરાની શરૂઆતમાં ઇન્ડેન્ટ કરવા માંગતા હોવ ત્યારે આનો ઉપયોગ કરી શકાય છે.
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 ~
પૂર્ણ-કદ અને અડધા-કદના અક્ષરો સાથે સાવચેત રહો.
ટેક્સ્ટવ્રેપમાં, અક્ષરોની સંખ્યા અક્ષરોની સંખ્યા દ્વારા નિયંત્રિત થાય છે, અક્ષરની પહોળાઈ દ્વારા નહીં, અને સિંગલ-બાઈટ અને ડબલ-બાઈટ બંને અક્ષરોને એક અક્ષર તરીકે ગણવામાં આવે છે.
s = '文字文字文字文字文字文字12345,67890, 文字文字文字abcde'
print(textwrap.fill(s, 12))
# 文字文字文字文字文字文字
# 12345,67890,
# 文字文字文字abcde
જો તમે નિશ્ચિત પહોળાઈ સાથે મિશ્ર કાંજી અક્ષરો સાથે ટેક્સ્ટને લપેટી કરવા માંગતા હો, તો કૃપા કરીને નીચેનાનો સંદર્ભ લો.
ટ્રંકેટ સ્ટ્રીંગ્સ (બાદવામાં આવેલ):shorten()
જો તમે શબ્દમાળાઓ કાપવા અને છોડવા માંગતા હો, તો ટેક્સ્ટવ્રેપ મોડ્યુલમાં શોર્ટન() ફંક્શનનો ઉપયોગ કરો.
અક્ષરોની મનસ્વી સંખ્યાને ફિટ કરવા માટે શબ્દ એકમોમાં સંક્ષિપ્ત. અવગણના સૂચવતી સ્ટ્રિંગ સહિત અક્ષરોની સંખ્યા મનસ્વી છે. બાદબાકી દર્શાવતી સ્ટ્રિંગ દલીલ પ્લેસહોલ્ડર સાથે સેટ કરી શકાય છે, જે નીચેના માટે ડિફોલ્ટ છે.[...]'
s = 'Python is powerful'
print(textwrap.shorten(s, 12))
# Python [...]
print(textwrap.shorten(s, 12, placeholder=' ~'))
# Python is ~
જો કે, જાપાનીઝ શબ્દમાળાઓ, ઉદાહરણ તરીકે, સારી રીતે સંક્ષિપ્ત કરી શકાતી નથી કારણ કે તેને શબ્દોમાં વિભાજિત કરી શકાતી નથી.
s = 'Pythonについて。Pythonは汎用のプログラミング言語である。'
print(textwrap.shorten(s, 20))
# [...]
જો તમે શબ્દ એકમોને બદલે માત્ર અક્ષરોની સંખ્યાને ધ્યાનમાં લઈને સંક્ષિપ્ત કરવા માંગતા હો, તો તે નીચે મુજબ સરળતાથી પ્રાપ્ત કરી શકાય છે.
s_short = s[:12] + '...'
print(s_short)
# Pythonについて。P...
TextWrapper ઑબ્જેક્ટ
જો તમે નિશ્ચિત રૂપરેખાંકન સાથે ઘણી વખત wrap() અથવા fill() કરવા જઈ રહ્યા છો, તો તે TextWrapper ઑબ્જેક્ટ બનાવવા માટે કાર્યક્ષમ છે.
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 ~
સમાન સેટિંગ્સનો ફરીથી ઉપયોગ કરી શકાય છે.