ٹیکسٹ ریپ کے ساتھ ازگر میں تاروں کو لپیٹنا، تراشنا اور فارمیٹنگ کرنا

کاروبار

ازگر میں سٹرنگ کو لپیٹ کر (لائن توڑ کر) اور حروف کی صوابدیدی تعداد پر اسے تراش کر (مختصراً) فارمیٹ کرنے کے لیے، معیاری لائبریری کے ٹیکسٹ ریپ ماڈیول کا استعمال کریں۔

درج ذیل معلومات یہاں فراہم کی گئی ہیں۔

  • تار لپیٹنا (لائن فیڈ):wrap(),fill()
  • تاروں کو تراشنا (چھوڑ دیا گیا):shorten()
  • ٹیکسٹ ریپر آبجیکٹ

اگر آپ آؤٹ پٹ کے بجائے کوڈ میں متعدد لائنوں پر لمبی تاریں لکھنا چاہتے ہیں تو درج ذیل مضمون کو دیکھیں۔

تار لپیٹنا (لائن فیڈ):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

فنکشن fill() فہرست کے بجائے ایک نئی لائن سٹرنگ لوٹاتا ہے۔ یہ 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()

اگر آپ تاروں کو تراشنا اور چھوڑنا چاہتے ہیں تو ٹیکسٹ ریپ ماڈیول میں فنکشن 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...

ٹیکسٹ ریپر آبجیکٹ

اگر آپ فکسڈ کنفیگریشن کے ساتھ کئی بار 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 ~

وہی ترتیبات دوبارہ استعمال کی جا سکتی ہیں۔

Copied title and URL