Më poshtë përshkruan funksionimin e vargjeve që përmbajnë linja të reja në Python.
- Krijo varg që përmban linja të reja, printim (shfaq)
- karakteri i linjës së re (njëri ose të dy i CR dhe LF në varësi të sistemit)
\n
(LF),\r\n
(CR+LF) - citat i trefishtë
''
,"""
- Nëse dëshironi të bëni dhëmbëzim
- karakteri i linjës së re (njëri ose të dy i CR dhe LF në varësi të sistemit)
- Lidhni një listë të vargjeve me vija të reja
- Ndani vargun në rreshta të rinj dhe listë:
splitlines()
- Hiqni dhe zëvendësoni kodet e furnizimit të linjës
- Printo rezultat pa rresht të ri
Krijoni varg që përmban linja të reja, printoni rezultatin
karakteri i linjës së re (njëri ose të dy i CR dhe LF në varësi të sistemit)\n(LF),\r\n(CR+LF)
Futja e një kodi të furnizimit të linjës brenda një vargu do të rezultojë në një rresht të ri.
s = 'Line1\nLine2\nLine3'
print(s)
# Line1
# Line2
# Line3
s = 'Line1\r\nLine2\r\nLine3'
print(s)
# Line1
# Line2
# Line3
Kodet e furnizimit të linjës mund të përdoren në mënyrat e mëposhtme. Disa redaktorë ju lejojnë të zgjidhni një kod të ndërprerjes së linjës.
Macを含むUnix系 | \n (LF) |
Windows系 | \r\n (CR+LF) |
citat i trefishtë'',"""
Nëse përdoren thonjëza të trefishta për të mbyllur vargun, ai do të jetë një varg siç është, duke përfshirë linjat e reja.
s = '''Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Nëse dëshironi të bëni dhëmbëzim
Thomat e trefishta janë gjithashtu hapësira në një varg, kështu që nëse përpiqeni të shkruani saktë në kod dhe dhëmbëzim siç tregohet më poshtë, do të futen hapësira të panevojshme.
s = '''
Line1
Line2
Line3
'''
print(s)
#
# Line1
# Line2
# Line3
#
Duke përdorur një vijë të prapme për të injoruar linjat e reja në kod dhe për ta bërë atë një rresht vijues, ai mund të shkruhet si më poshtë
Mblidhni çdo rresht me ” ose “” dhe shtoni një karakter të linjës së re ←n në fund të fjalisë.
s = 'Line1\n'\
'Line2\n'\
'Line3'
print(s)
# Line1
# Line2
# Line3
Këtu, sintaksa është se literalet e njëpasnjëshme të vargjeve janë të lidhura. Shihni artikullin e mëposhtëm për detaje.
- Artikuj të ngjashëm:Lidhja dhe bashkimi i vargjeve në Python (operator +, bashkim, etj.)
Nëse dëshironi të shtoni dhëmbëzim në një varg, thjesht shtoni një hapësirë në vargun në çdo rresht.
s = 'Line1\n'\
' Line2\n'\
' Line3'
print(s)
# Line1
# Line2
# Line3
Përveç kësaj, meqenëse ndërprerjet e rreshtave mund të bëhen lirisht në kllapa, sa vijon mund të shkruhet duke përdorur kllapa në vend të vijave të prapme.
s = ('Line1\n'
'Line2\n'
'Line3')
print(s)
# Line1
# Line2
# Line3
s = ('Line1\n'
' Line2\n'
' Line3')
print(s)
# Line1
# Line2
# Line3
Nëse thjesht dëshironi të rreshtoni fillimin e një rreshti, thjesht shtoni një vijë të prapme në rreshtin e parë të thonjëzave të trefishta.
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Lidhni një listë të vargjeve me vija të reja
Metoda e vargut join() mund të përdoret për të lidhur një listë vargjesh në një varg të vetëm.
- Artikuj të ngjashëm:Lidhja dhe bashkimi i vargjeve në Python (operator +, bashkim, etj.)
Kur join() thirret nga një karakter i linjës së re, çdo element vargu lidhet me një linjë të re.
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'
Si në shembullin e mësipërm, funksioni i integruar repr() mund të përdoret për të kontrolluar vargjet që përmbajnë kode të linjës së re ashtu siç janë.
Ndani vargun në rreshta të rinj dhe listë:splitlines()
Metoda e vargut splitlines() mund të përdoret për të ndarë një varg në një listë rreshtash të reja.
splitlines() do të ndajë cilindo nga kodet e mëposhtme të ndërprerjes së linjës. Skedat vertikale dhe ndërprerjet e faqeve janë gjithashtu të ndara.
\n
\r\n
\v
\f
s = 'Line1\nLine2\r\nLine3'
print(s.splitlines())
# ['Line1', 'Line2', 'Line3']
Hiqni dhe zëvendësoni kodet e furnizimit të linjës
Duke kombinuar splitlines() dhe join(), është e mundur që të hiqen (hiqni) kodet e linjës së re nga një varg që përmban linja të reja ose t’i zëvendësoni ato me vargje të tjera.
s = 'Line1\nLine2\r\nLine3'
print(''.join(s.splitlines()))
# Line1Line2Line3
print(' '.join(s.splitlines()))
# Line1 Line2 Line3
print(','.join(s.splitlines()))
# Line1,Line2,Line3
Ndryshimi në grup i kodeve të furnizimit të linjës është gjithashtu i mundur. Edhe nëse kodet e ndërprerjes së linjës janë të përziera ose të panjohura, ato mund të ndahen duke përdorur splitlines() dhe më pas të bashkohen me kodin e dëshiruar të ndërprerjes së linjës.
s_n = '\n'.join(s.splitlines())
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
Siç u përmend më lart, splitlines() do të ndajë cilindo kod të linjës së re, kështu që nuk ka nevojë të shqetësoheni veçanërisht për kodet e linjës së re në rastin e metodës që kombinon splitlines () dhe join().
Nëse kodi i linjës së re është i qartë, ai gjithashtu mund të zëvendësohet me metodën e zëvendësimit (), e cila zëvendëson vargun.
s = 'Line1\nLine2\nLine3'
print(s.replace('\n', ''))
# Line1Line2Line3
print(s.replace('\n', ','))
# Line1,Line2,Line3
Vini re, megjithatë, se nuk do të funksionojë nëse përmban kode të ndryshme të furnizimit të linjës nga sa pritej.
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'
Është e mundur të zëvendësohen kode të shumta të linjës së re duke përsëritur zëvendësimin(), por nuk do të funksionojë nëse renditja është e gabuar sepse “\r\n” përmban “\n”. Metoda që kombinon splitlines() dhe join() e përshkruar më sipër është më e sigurt sepse nuk ka nevojë të shqetësoheni për kodet e furnizimit të linjës.
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
Përdorni metodën rstrip() për të hequr kodet e furnizimit të linjës në fund të një fjalie. rstrip() është një metodë për të hequr karakteret e hapësirës së bardhë (duke përfshirë furnizimet e rreshtave) në skajin e djathtë të një vargu.
s = 'aaa\n'
print(s + 'bbb')
# aaa
# bbb
print(s.rstrip() + 'bbb')
# aaabbb
Printo rezultat pa rresht të ri
Funksioni print() shton një linjë të re pasardhëse si parazgjedhje. Prandaj, nëse print() ekzekutohet me radhë, çdo rezultat i daljes do të shfaqet në një linjë të re.
print('a')
print('b')
print('c')
# a
# b
# c
Kjo ndodh sepse vlera e paracaktuar e argumentit end of print(), i cili specifikon vargun që do të shtohet në fund, është simboli i linjës së re.
Nëse nuk dëshironi një linjë të re në fund, thjesht vendosni fundin e argumentit në një varg bosh dhe dalja do të dalë pa një linjë të re në fund.
print('a', end='')
print('b', end='')
print('c', end='')
# abc
Fundi i argumentit mund të jetë çdo varg.
print('a', end='-')
print('b', end='-')
print('c')
# a-b-c
Megjithatë, nëse doni të lidhni vargjet për dalje, është më e lehtë të lidhni vargjet origjinale sesa t’i specifikoni në argumentin fundor të print(). Shihni artikullin e mëposhtëm.
- Artikuj të ngjashëm:Lidhja dhe bashkimi i vargjeve në Python (operator +, bashkim, etj.)