Կարող եք ձեր կոդը փորձարկել այստեղ
Python-ն աջակցում է բազմաթիվ տարբեր ֆայլերի տեսակների, սակայն դրանք կարելի է բաժանել երկու տեսակի՝ տեքստային և երկուական: Տեքստային ֆայլերը, օրինակ, cvs, txt, html ընդլայնմամբ ֆայլերն են, ընդհանրապես ցանկացած ֆայլ, որը պահպանում է տեղեկատվությունը տեքստային տեսքով: Երկուական ֆայլերը պատկերներ են, աուդիո և վիդեո ֆայլեր և այլն: Կախված ֆայլի տեսակից, դրա հետ աշխատելը կարող է մի փոքր տարբերվել: Ֆայլերի հետ աշխատելիս դուք պետք է հետևեք գործողությունների որոշակի հաջորդականությանը. Ֆայլի բացում open() մեթոդով Ֆայլի ընթերցում read() մեթոդի միջոցով կամ ֆայլում գրել՝ օգտագործելով write() մեթոդը Ֆայլի փակում close() մեթոդի միջոցով
Ֆայլի բացում և փակում
Ֆայլի հետ աշխատելու համար անհրաժեշտ է բացել այն՝ օգտագործելով open() ֆունկցիան , որն ունի հետևյալ պաշտոնական սահմանումը.
open(file, mode)
Ֆունկցիայի առաջին պարամետրը ներկայացնում է ֆայլի ուղին: Ֆայլի ուղին կարող է լինել բացարձակ, այսինքն՝ սկսվում է սկավառակի տառով, օրինակ՝ C://somedir/somefile.txt : Կամ դա կարող է հարաբերական լինել, օրինակ՝ somedir/somefile.txt - այս դեպքում ֆայլը կփնտրվի Python գործող սկրիպտի գտնվելու վայրի համեմատ: Երկրորդ արգումենտը modeսահմանում է ֆայլի բացման ռեժիմը՝ կախված նրանից, թե ինչ ենք անելու դրա հետ։ Գոյություն ունեն 4 ընդհանուր ռեժիմ. r (Կարդացեք): Ֆայլը բացվում է կարդալու համար: Եթե ֆայլը չի գտնվել, բացառություն է բացվում FileNotFoundError w (Գրել): Ֆայլը բացվում է գրելու համար: Եթե ֆայլը գոյություն չունի, այն ստեղծվում է: Եթե նմանատիպ ֆայլ արդեն կա, այն ստեղծվում է նորովի, և համապատասխանաբար ջնջվում են դրա հին տվյալները: ա (Հավելված): Ֆայլը բացվում է հետագա գրելու համար։ Եթե ֆայլը գոյություն չունի, այն ստեղծվում է: Եթե նմանատիպ ֆայլ արդեն գոյություն ունի, ապա տվյալները գրվում են դրա վերջում: բ (Երկուական): Օգտագործվում է երկուական ֆայլերի հետ աշխատելու համար: Օգտագործվում է այլ ռեժիմների հետ համատեղ՝ w կամ r, օրինակ՝ rb (երկուական ֆայլեր կարդալ) և wb (երկուական ֆայլեր գրելը): r+ . Ֆայլը բացվում է միաժամանակ կարդալու և գրելու համար: Եթե ֆայլը չի գտնվել, բացառություն է բացվում FileNotFoundError w+ . Ֆայլը բացվում է միաժամանակ կարդալու և գրելու համար: Եթե ֆայլը գոյություն չունի, այն ավտոմատ կերպով ստեղծվում է: Եթե ֆայլը գոյություն ունի, այն վերագրվում է ա+ . Ֆայլը բացվում է միաժամանակ կարդալու և գրելու համար: Եթե ֆայլը գոյություն չունի, այն ավտոմատ կերպով ստեղծվում է: Եթե ֆայլը գոյություն ունի, ապա տվյալները կցվում են ֆայլի վերջում Օրինակ՝ գրելու համար տեքստային ֆայլ բացելը
myfile = open("hello.txt", "w")
Կամ բացելով երկուական ֆայլ՝ կարդալու համար
myfile = open("image.png", "rb")
Ֆայլի հետ աշխատանքն ավարտելուց հետո այն պետք է փակվի՝ օգտագործելով close(). Այս մեթոդը կթողարկի ֆայլի հետ կապված բոլոր օգտագործված ռեսուրսները:
Օրինակ՝ գրելու համար բացենք «hello.txt» տեքստային ֆայլը.
myfile = open("hello.txt", "w")
myfile.close()
Ֆայլ բացելիս կամ դրա հետ աշխատելիս կարող ենք հանդիպել տարբեր բացառությունների, օրինակ՝ այն հնարավոր չէ մուտք գործել և այլն։ Այս դեպքում ծրագիրը կառաջացնի սխալ, և դրա կատարումը չի հասնի փակման մեթոդի կանչին, և համապատասխանաբար ֆայլը չի փակվի:
Այս դեպքում մենք կարող ենք բացառություններ անել.
try:
myfile = open("hello.txt", "w")
try:
print("Work with files")
finally:
myfile.close()
except Exception as ex:
print(ex)
Այս դեպքում ֆայլի հետ ամբողջ աշխատանքը տեղի է ունենում ներկառուցված փորձի բլոկում: Եվ եթե հանկարծ որևէ բացառություն առաջանա, ապա ամեն դեպքում ֆայլը կփակվի վերջնական բլոկում։
Այնուամենայնիվ, կա ավելի հարմար շինարարություն՝ շինարարությամբ.
with open(file, mode) as myfile:
content
Այս կառուցվածքը սահմանում է myfile փոփոխականը բաց ֆայլի համար և կատարում է մի շարք հրահանգներ: Դրանք ավարտվելուց հետո ֆայլը ավտոմատ կերպով փակվում է: Նույնիսկ եթե որևէ բացառություն առաջանա with block-ում հրահանգները կատարելիս, ֆայլը դեռ փակ է:
Այսպիսով, եկեք վերաշարադրենք նախորդ օրինակը.
with open("hello.txt", "w") as myfile: print("Work with myfile")
Մեկնաբանություն գրելու համար խնդրում ենք մուտք լինել