ذیل میں ازگر میں نئی لائنوں پر مشتمل تاروں کے آپریشن کی وضاحت کی گئی ہے۔
- نئی لائنوں پر مشتمل سٹرنگ بنائیں، پرنٹ آؤٹ پٹ (ڈسپلے)
- نئی لائن کیریکٹر (سی آر اور ایل ایف دونوں میں سے یا تو سسٹم پر منحصر ہے)
\n(LF)،\r\n(CR+LF) - ٹرپل اقتباس
'',""" - اگر آپ انڈینٹ کرنا چاہتے ہیں۔
- نئی لائن کیریکٹر (سی آر اور ایل ایف دونوں میں سے یا تو سسٹم پر منحصر ہے)
- نئی لائنوں کے ساتھ تاروں کی فہرست کو جوڑیں۔
- سٹرنگ کو نئی لائنوں اور فہرست میں تقسیم کریں۔:
splitlines() - لائن فیڈ کوڈز کو ہٹائیں اور تبدیل کریں۔
- پچھلی نئی لائن کے بغیر آؤٹ پٹ پرنٹ کریں۔
نئی لائنوں، پرنٹ آؤٹ پٹ پر مشتمل سٹرنگ بنائیں
نئی لائن کیریکٹر (سی آر اور ایل ایف دونوں میں سے یا تو سسٹم پر منحصر ہے)\n(LF)،\r\n(CR+LF)
سٹرنگ کے اندر لائن فیڈ کوڈ داخل کرنے کے نتیجے میں ایک نئی لائن آئے گی۔
s = 'Line1\nLine2\nLine3'
print(s)
# Line1
# Line2
# Line3
s = 'Line1\r\nLine2\r\nLine3'
print(s)
# Line1
# Line2
# Line3
لائن فیڈ کوڈز کو درج ذیل طریقوں سے استعمال کیا جا سکتا ہے۔ کچھ ایڈیٹرز آپ کو لائن بریک کوڈ منتخب کرنے کی اجازت دیتے ہیں۔
| Macを含むUnix系 | \n(LF) |
| Windows系 | \r\n(CR+LF) |
ٹرپل اقتباس'',"""
اگر سٹرنگ کو بند کرنے کے لیے ٹرپل اقتباسات کا استعمال کیا جاتا ہے، تو یہ ایک سٹرنگ ہوگی جیسا کہ ہے، بشمول نئی لائنز۔
s = '''Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
اگر آپ انڈینٹ کرنا چاہتے ہیں۔
ٹرپل کوٹس بھی اسٹرنگ میں خالی جگہیں ہیں، لہذا اگر آپ کوڈ اور انڈینٹ میں صاف لکھنے کی کوشش کریں گے جیسا کہ ذیل میں دکھایا گیا ہے، تو غیر ضروری جگہیں ڈال دی جائیں گی۔
s = '''
Line1
Line2
Line3
'''
print(s)
#
# Line1
# Line2
# Line3
#
کوڈ میں نئی لائنوں کو نظر انداز کرنے اور اسے تسلسل والی لائن بنانے کے لیے بیک سلیش کا استعمال کرتے ہوئے، اسے اس طرح لکھا جا سکتا ہے
ہر سطر کو ” یا ”” کے ساتھ منسلک کریں اور جملے کے آخر میں ایک نئی لائن کیریکٹر ←n شامل کریں۔
s = 'Line1\n'\
'Line2\n'\
'Line3'
print(s)
# Line1
# Line2
# Line3
یہاں، نحو یہ ہے کہ یکے بعد دیگرے سٹرنگ لٹریلز کو مربوط کیا جاتا ہے۔ تفصیل کے لیے درج ذیل مضمون کو دیکھیں۔
اگر آپ سٹرنگ میں انڈینٹیشن شامل کرنا چاہتے ہیں تو ہر لائن میں سٹرنگ میں صرف ایک جگہ شامل کریں۔
s = 'Line1\n'\
' Line2\n'\
' Line3'
print(s)
# Line1
# Line2
# Line3
اس کے علاوہ، چونکہ لائن بریک آزادانہ طور پر بریکٹ میں بنائے جا سکتے ہیں، اس لیے بیک سلیش کے بجائے قوسین کا استعمال کرتے ہوئے درج ذیل کو لکھا جا سکتا ہے۔
s = ('Line1\n'
'Line2\n'
'Line3')
print(s)
# Line1
# Line2
# Line3
s = ('Line1\n'
' Line2\n'
' Line3')
print(s)
# Line1
# Line2
# Line3
اگر آپ صرف ایک لائن کے آغاز کو سیدھ میں لانا چاہتے ہیں، تو صرف ٹرپل کوٹس کی پہلی لائن میں ایک بیک سلیش شامل کریں۔
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
نئی لائنوں کے ساتھ تاروں کی فہرست کو جوڑیں۔
سٹرنگ کا طریقہ join() سٹرنگز کی فہرست کو ایک ہی سٹرنگ میں جوڑنے کے لیے استعمال کیا جا سکتا ہے۔
جب join() کو ایک نئی لائن کریکٹر سے بلایا جاتا ہے، تو ہر سٹرنگ عنصر کو ایک نئی لائن کے ساتھ جوڑ دیا جاتا ہے۔
l = ['Line1', 'Line2', 'Line3']
s_n = '\n'.join(l)
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
s_rn = '\r\n'.join(l)
print(s_rn)
# Line1
# Line2
# Line3
print(repr(s_rn))
# 'Line1\r\nLine2\r\nLine3'
جیسا کہ اوپر دی گئی مثال میں، بلٹ ان فنکشن repr() کو ان سٹرنگز کو چیک کرنے کے لیے استعمال کیا جا سکتا ہے جن میں نئے لائن کوڈز جیسے وہ ہیں۔
سٹرنگ کو نئی لائنوں اور فہرست میں تقسیم کریں۔:splitlines()
سٹرنگ میتھڈ اسپلٹ لائنز() کو نئی لائنوں کی فہرست میں سٹرنگ کو تقسیم کرنے کے لیے استعمال کیا جا سکتا ہے۔
splitlines() درج ذیل لائن بریک کوڈز میں سے کسی کو بھی تقسیم کر دے گی۔ عمودی ٹیبز اور صفحہ کے وقفے بھی تقسیم ہیں۔
\n\r\n\v\f
s = 'Line1\nLine2\r\nLine3'
print(s.splitlines())
# ['Line1', 'Line2', 'Line3']
لائن فیڈ کوڈز کو ہٹائیں اور تبدیل کریں۔
اسپلٹ لائنز() اور join() کو ملا کر، نئی لائنوں پر مشتمل سٹرنگ سے نئے لائن کوڈز کو ہٹانا (ہٹانا) ممکن ہے یا انہیں دوسری تاروں سے تبدیل کرنا ممکن ہے۔
s = 'Line1\nLine2\r\nLine3'
print(''.join(s.splitlines()))
# Line1Line2Line3
print(' '.join(s.splitlines()))
# Line1 Line2 Line3
print(','.join(s.splitlines()))
# Line1,Line2,Line3
لائن فیڈ کوڈز کی بیچ تبدیلی بھی ممکن ہے۔ یہاں تک کہ اگر لائن بریک کوڈز ملے جلے یا نامعلوم ہیں، تو انہیں splitlines() کا استعمال کرتے ہوئے تقسیم کیا جا سکتا ہے اور پھر مطلوبہ لائن بریک کوڈ کے ساتھ جوڑا جا سکتا ہے۔
s_n = '\n'.join(s.splitlines())
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
جیسا کہ اوپر ذکر کیا گیا ہے، اسپلٹ لائنز() نئے لائن کوڈ کو تقسیم کردے گی، اس لیے اسپلٹ لائنز() اور join() کو ملانے کے طریقہ کار کے معاملے میں نئے لائن کوڈز کے بارے میں خاص طور پر فکر مند ہونے کی ضرورت نہیں ہے۔
اگر نیا لائن کوڈ واضح ہے، تو اسے ریپلس() طریقہ سے بھی تبدیل کیا جا سکتا ہے، جو سٹرنگ کی جگہ لے لیتا ہے۔
s = 'Line1\nLine2\nLine3'
print(s.replace('\n', ''))
# Line1Line2Line3
print(s.replace('\n', ','))
# Line1,Line2,Line3
تاہم، نوٹ کریں کہ اگر یہ توقع سے مختلف لائن فیڈ کوڈز پر مشتمل ہے تو یہ کام نہیں کرے گا۔
s = 'Line1\nLine2\r\nLine3'
s_error = s.replace('\n', ',')
print(s_error)
# ,Line3Line2
print(repr(s_error))
# 'Line1,Line2\r,Line3'
s_error = s.replace('\r\n', ',')
print(s_error)
# Line1
# Line2,Line3
print(repr(s_error))
# 'Line1\nLine2,Line3'
ایک سے زیادہ نئے لائن کوڈز کو دوبارہ تبدیل کر کے تبدیل کرنا ممکن ہے، لیکن اگر آرڈر غلط ہے تو یہ کام نہیں کرے گا کیونکہ "\r\n” میں "\n” شامل ہے۔ اوپر بیان کردہ splitlines() اور join() کو ملانے کا طریقہ زیادہ محفوظ ہے کیونکہ لائن فیڈ کوڈز کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔
s = 'Line1\nLine2\r\nLine3'
print(s.replace('\r\n', ',').replace('\n', ','))
# Line1,Line2,Line3
s_error = s.replace('\n', ',').replace('\r\n', ',')
print(s_error)
# ,Line3Line2
print(repr(s_error))
# 'Line1,Line2\r,Line3'
print(','.join(s.splitlines()))
# Line1,Line2,Line3
جملے کے آخر میں لائن فیڈ کوڈز کو ہٹانے کے لیے rstrip() طریقہ استعمال کریں۔ rstrip() سٹرنگ کے دائیں سرے پر سفید جگہ کے حروف (بشمول لائن فیڈز) کو ہٹانے کا ایک طریقہ ہے۔
s = 'aaa\n'
print(s + 'bbb')
# aaa
# bbb
print(s.rstrip() + 'bbb')
# aaabbb
پچھلی نئی لائن کے بغیر آؤٹ پٹ پرنٹ کریں۔
پرنٹ () فنکشن ڈیفالٹ کے لحاظ سے ایک پچھلی نئی لائن کا اضافہ کرتا ہے۔ لہذا، اگر print() کو یکے بعد دیگرے عمل میں لایا جاتا ہے، تو ہر آؤٹ پٹ کا نتیجہ نئی لائن پر ظاہر ہوگا۔
print('a')
print('b')
print('c')
# a
# b
# c
اس کی وجہ یہ ہے کہ argument end of print() کی ڈیفالٹ ویلیو، جو آخر میں شامل کی جانے والی سٹرنگ کی وضاحت کرتی ہے، نئی لائن کی علامت ہے۔
اگر آپ آخر میں نئی لائن نہیں چاہتے ہیں، تو صرف دلیل کے اختتام کو خالی سٹرنگ پر سیٹ کریں، اور آؤٹ پٹ آخر میں نئی لائن کے بغیر آؤٹ پٹ ہوگا۔
print('a', end='')
print('b', end='')
print('c', end='')
# abc
دلیل کا اختتام کوئی بھی تار ہو سکتا ہے۔
print('a', end='-')
print('b', end='-')
print('c')
# a-b-c
تاہم، اگر آپ آؤٹ پٹ کے لیے سٹرنگز کو جوڑنا چاہتے ہیں، تو اصل سٹرنگز کو جوڑنا آسان ہے بجائے اس کے کہ پرنٹ() کے آخری دلیل میں ان کی وضاحت کی جائے۔ اگلا مضمون دیکھیں۔


