టెక్స్ట్‌వ్రాప్‌తో పైథాన్‌లో స్ట్రింగ్‌లను చుట్టడం, కత్తిరించడం మరియు ఫార్మాటింగ్ చేయడం

వ్యాపారం

పైథాన్‌లో స్ట్రింగ్‌ను చుట్టడం (లైన్ బ్రేకింగ్) మరియు ఏకపక్ష సంఖ్యలో అక్షరాలతో కత్తిరించడం (సంక్షిప్తీకరించడం) ద్వారా ఫార్మాట్ చేయడానికి, ప్రామాణిక లైబ్రరీ యొక్క టెక్స్ట్‌వ్రాప్ మాడ్యూల్‌ని ఉపయోగించండి.

కింది సమాచారం ఇక్కడ అందించబడింది.

  • స్ట్రింగ్‌ను చుట్టడం (లైన్ ఫీడ్):wrap(),fill()
  • స్ట్రింగ్‌లను కత్తిరించండి (విస్మరించబడింది):shorten()
  • TextWrapper వస్తువు

మీరు అవుట్‌పుట్‌లో కాకుండా కోడ్‌లోని బహుళ పంక్తులపై పొడవైన స్ట్రింగ్‌లను వ్రాయాలనుకుంటే, క్రింది కథనాన్ని చూడండి.

స్ట్రింగ్‌ను చుట్టడం (లైన్ ఫీడ్):wrap(),fill()

టెక్స్ట్‌వ్రాప్ మాడ్యూల్ యొక్క ఫంక్షన్ ర్యాప్()తో, మీరు ఏకపక్ష అక్షరాల సంఖ్యకు సరిపోయేలా వర్డ్ బ్రేక్‌ల ద్వారా విభజించబడిన జాబితాను పొందవచ్చు.

రెండవ ఆర్గ్యుమెంట్ వెడల్పు కోసం అక్షరాల సంఖ్యను పేర్కొనండి. డిఫాల్ట్ వెడల్పు = 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

ఫంక్షన్ ఫిల్() జాబితాకు బదులుగా కొత్త లైన్ స్ట్రింగ్‌ను అందిస్తుంది. పై ఉదాహరణలో వలె ర్యాప్() తర్వాత కింది కోడ్‌ని అమలు చేయడం అదే.
\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 వస్తువు

మీరు ఫిక్స్‌డ్ కాన్ఫిగరేషన్‌తో చాలా సార్లు వ్రాప్() లేదా ఫిల్() చేయబోతున్నట్లయితే, టెక్స్ట్‌వ్రాపర్ ఆబ్జెక్ట్‌ని సృష్టించడం సమర్ధవంతంగా ఉంటుంది.

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 ~

అదే సెట్టింగ్‌లను మళ్లీ ఉపయోగించుకోవచ్చు.