Pagbasa at Pagsulat ng Mga File na may Python

Reading Writing Files With Python



Ginagamit ang mga file upang maiimbak at ayusin ang data sa isang disk. Madalas kaming gumagamit ng mga file kapag kailangan namin upang mag-imbak ng data nang permanente sa isang hard disk. Halimbawa, sabihin na nagtatayo kami ng isang sistema ng software na nagpapanatili ng mga tala ng mag-aaral. Ngayon, kailangan naming itago ang data ng mag-aaral nang permanente para magamit sa hinaharap. Para sa hangaring ito, maaari naming gamitin ang mga file upang mag-imbak ng data, at maya-maya pa, mabubuksan natin ang mga file na ito at ma-access ang nakaimbak na data anumang oras.

Ang pagbabasa at pagsusulat ng mga file ay napaka-karaniwang pag-andar sa Python. Madali itong likhain, mabasa, at mai-edit ang mga file sa Python. Ang Python ay may mga built-in na pag-andar para sa pagbabasa at pagsusulat ng mga file. Maaari mong buksan, isulat, at basahin ang mga file gamit ang mga built-in na function ng Python. Ang mga pagpapatakbo ng file ay ginaganap sa sumusunod na pagkakasunud-sunod:







  • Magbukas ng isang file
  • Basahin / isulat ang file
  • Isara ang file

Gamit ang Python, maaari kang lumikha ng mga file ng teksto at mga binary file. Ang mga file ng teksto ay nag-iimbak ng data sa anyo ng mga character at ang bawat linya ay nagtatapos sa isang bagong character (' n'). Sa mga binary file, ang data ay nakaimbak sa anyo ng mga byte (1 at 0).



Sa artikulong ito, malalaman mo:



  • Ang ilan sa iba't ibang mga mode ng file sa Python
  • Paano magbukas ng isang file
  • Paano lumikha ng isang file
  • Paano magsulat ng data sa isang file
  • Paano magbasa ng isang file

Iba't ibang Mga Mode ng File sa Python

Ang mga mode sa Python ay naglalarawan ng uri ng operasyon na isasagawa sa file. Kapag nagbubukas ng isang file, dapat mong tukuyin ang mode. Ang bawat file ay may isang hawakan ng file. Ang hawakan ng file ay kumikilos tulad ng isang cursor na tumutukoy kung saan magsusulat at magbasa ng data. Ito ay isang uri ng pointer ng lokasyon. Kasama sa sumusunod ang ilan sa iba't ibang mga mode ng pag-access ng file sa Python:





Mode Paglalarawan
r Binubuksan ang file sa mode ng pagbasa. Ang mode na ito ay pinili bilang default kung hindi mo tinukoy ang anumang mode habang binubuksan ang file sa Python.
sa Sumusulat ng isang file. Lumilikha ang mode na ito ng isang file kung ang file ay wala na at nai-o-overtake ang data sa file.
r + Ginamit upang basahin at isulat ang file. Nagpapakita ito ng isang error kung ang file ay wala.
sa Binubuksan ang file sa append mode. Ang hawakan ng file ay matatagpuan sa dulo ng file. Ang mode na ito ay hindi pinapatungan ang umiiral na data ngunit nagsisimula sa pagsusulat ng data sa dulo ng file. Ang isang bagong file ay nilikha kung ang file ay walang.
isang + Binubuksan ang file para sa pagbabasa at pagsusulat. Bubukas nito ang file sa append mode para sa pagsusulat. Ang data ay ipinasok sa dulo ng file. Ang isang bagong file ay nilikha kung ang file ay walang.
t Binubuksan ang file sa mode ng teksto.

Paano Magbukas ng isang File

Upang buksan ang isang file sa Python, gamitin ang built-in buksan () pagpapaandar Ang pagpapaandar na bukas () ay tumatagal ng dalawang mga argument bilang isang input, ibig sabihin, ang pangalan ng file at ang mode ng pagpapatakbo. Ibinabalik ng pagpapaandar na ito ang file object bilang isang output. Hindi na kailangang mag-import ng anumang module upang magamit ang bukas na () pagpapaandar. Ang sumusunod ay ang syntax ng bukas na () pagpapaandar:

file_object= buksan(file_name,mode)

Dito, kumakatawan ang 'file_name' sa pangalan ng aktwal na file ng teksto, habang ang 'mode' ay kumakatawan sa pag-access ng file o mode ng pagpapatakbo ng file. Maaari mo ring ilagay ang r bago ang ‘file_name,’ kung may kasamang mga espesyal na character ang pangalan ng file. Ang r ay inilalagay tulad ng sumusunod:



=file_object= buksan(rfile_name,mode)

Halimbawa, ang pangalan ng file ay maaaring: F: newfolder myfile.txt

Paano Lumikha ng isang File

Ang pagpapaandar na bukas () ay maaaring magamit upang lumikha ng mga file sa Python. Gamitin ang append mode (a) sa loob ng bukas na () function upang likhain ang file. Lumikha ng isang file gamit ang code na ibinigay sa ibaba:

file = buksan('sample.txt','to')

Dito, isang bagong object ng file ang nilikha. Ang file object ay pinangalanang file. Ang pangalan ng bagong nilikha na file ng teksto ay sample.txt. Ang text file ay bubuksan sa append mode. Lilikha ito ng bagong file kung ang file ay wala na. Matapos likhain ang file, dapat mong isara ang file sa sumusunod na paraan:

file.malapit na()

Ang built-in na malapit () na pagpapaandar ay ginagamit upang isara ang file.

Paano Sumulat ng Data sa isang File

Mayroong dalawang mga pag-andar sa Python na ginamit para sa pagsusulat ng data sa isang file:

  1. sumulat ()
  2. mga papel na sinulat ()

Ang function na magsulat () ay ginagamit upang sumulat ng solong linya o iisang data ng string sa isang file, habang ang function ng mga script () ay ginagamit upang sumulat ng maraming mga linya ng data sa isang file na teksto. Tingnan natin ang ilang mga halimbawa ng pagsulat ng data sa isang file.

Gamit ang pagsulat () Pag-andar

Sa halimbawang ito, gumagamit kami ng function na magsulat () upang magsulat ng data sa isang file. Ang file ay bubuksan sa mode ng pagsulat. Ang n ay inilagay upang tukuyin ang pagtatapos ng linya.

# Lumilikha ng isang bagong object ng file at magbubukas ng isang file sa mode ng pagsulat
file=buksan('sample.txt','sa')
# pagsulat ng solong linya sa isang file

file.sumulat('Maligayang pagdating sa linuxhint n')
# pagsusulat ng isa pang solong linya sa isang file
file.sumulat('Maligayang pagbabalik')

# pagsara ng file
file.malapit na()

Paglabas

Ang mga linya ay nakasulat na sa mga file ng teksto.

Kung buksan namin ang file sa mode ng pagsulat at hilingin sa pag-andar ng pagsulat () upang magsulat ng higit pang mga linya sa file, mai-o-overlap nito ang nakaraang data at ang bagong data ay idaragdag sa file ng teksto.

# Lumilikha ng isang bagong object ng file at magbubukas ng isang file sa mode ng pagsulat
file=buksan('sample.txt','sa')
# pagsulat ng solong linya sa isang file

file.sumulat('Hello Lahat n')
# pagsusulat ng isa pang solong linya sa isang file
file.sumulat('Ito ang pinalitan na string')

# pagsara ng file
file.malapit na()

Paglabas

Sa output, makikita na ang nakaraang data ay napalitan at ang bagong data ay idinagdag sa lugar nito sa text file.

Kung nais naming panatilihin ang parehong nakaraan at ang bagong data sa file, maaari naming buksan ang file sa append mode, tulad nito:

# Lumilikha ng isang bagong object ng file at nagbubukas ng isang file sa append mode
file=buksan('sample.txt','to')
# pagsulat ng solong linya sa isang file

file.sumulat('Hello Lahat n')
# pagsusulat ng isa pang solong linya sa isang file
file.sumulat('Ito ang pinalitan na string n')
# pagsusulat ng isa pang bagong solong linya sa isang file
file.sumulat('Ito ang bagong idinagdag na string string n')
# pagsara ng file
file.malapit na()

Paglabas

Gamit ang mga panitik () Pag-andar

Ang pagpapaandar ng mga sanaysay () ay ginagamit upang magsulat ng maraming linya sa isang teksto nang sabay-sabay, tulad ng sumusunod:

# Lumilikha ng isang bagong object ng file at magbubukas ng isang file sa mode ng pagsulat
file=buksan('file1.txt','sa')
# pag-iimbak ng maraming data ng string sa isang variable
p = ['Hello sa lahat n','Maligayang pagdating sa linuxhint n',Gumagamit kami ng pagpapaandar ng mga script n']
# gamit ang mga function ng panitikan upang magsulat ng data sa isang file
file.mga papel na sinulat(p)
# pagsara ng file
file.malapit na()

Paglabas

Paano Magbasa ng isang File

Upang mabasa ang isang file sa Python, una, buksan ang file sa mode ng pagbasa. Mayroong tatlong mga built-in na pag-andar sa Python para sa pagbabasa ng isang file. Kabilang dito ang mga sumusunod:

  1. basahin ()
  2. Basahin ang linya()
  3. mga readline ()

basahin (): Ginamit upang basahin ang data mula sa isang file; ibabalik ang buong data sa anyo ng string.

Basahin ang linya(): Nagbabasa ng isang linya ng data mula sa isang file; ibabalik lamang ang unang linya.

mga readline (): Binabasa ang lahat ng mayroon nang mga linya mula sa isang file; ibabalik ito sa anyo ng isang listahan.

Ginamit ang function na seek () upang baguhin ang posisyon ng hawakan ng file. Kapag nagbabasa ng data sa file, ang file ay humahawak ng posisyon mismo sa dulo ng file. Kaya, ang isang hawakan ng file ay tulad ng isang cursor, na may function na seek () bilang paraan upang ilipat ang cursor.

Tingnan natin ang isang halimbawa ng pagbabasa ng data mula sa file.

# pagbubukas ng isang file sa read mode
file=buksan('file1.txt','r')
# gamit ang function na read () upang mabasa ang data mula sa file
# pag-iimbak ng mga linya sa isang variable
data=file.basahin()
# pag-print ng data
mag-print('Ito ang output ng read () function: n')
mag-print(data)

# using seek () function upang dalhin ang posisyon ng file sa pagsisimula
file.Maghanap(0)
# gamit ang function ng readline () upang mabasa ang data mula sa file
# pag-iimbak ng mga linya sa isang variable
data=file.Basahin ang linya()
# pag-print ng data
mag-print('Ito ang output ng function ng readline (): n')
mag-print(data)

# using seek () function upang dalhin ang posisyon ng file sa pagsisimula
file.Maghanap(0)
# gamit ang mga readline () na pagpapaandar upang mabasa ang data mula sa file
# pag-iimbak ng mga linya sa isang variable
data=file.mga readline()
# pag-print ng data
mag-print('Ito ang output ng pagpapaandar ng (mga) linya ng pag-andar: n')
mag-print(data)
# pagsara ng file
file.malapit na()

Paglabas

Konklusyon

Kadalasang kinakailangan upang mag-imbak ng impormasyon o data sa isang file. Sa Python, madali kang makakalikha, magsulat, at mabasa ang mga file gamit ang mga built-in na function ng Python. Hindi na kailangang mag-import ng iba pang mga module sa iyong programa kapag nais mong basahin, magsulat, at lumikha ng mga file. Maaari mo ring gamitin ang maraming built-in na mode ng pag-access habang ginagamit ang mga file. Sa artikulong ito, ipinaliwanag namin kung paano magbasa at magsulat ng mga file sa Python na may ilang simpleng mga halimbawa.