Loading...
Python

Կարող եք ձեր կոդը փորձարկել այստեղ

Python

Գլուխ 9. Աշխատանք ֆայլերի հետ

Ֆայլերի բացում և փակում

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")

Մեկնաբանություն գրելու համար խնդրում ենք մուտք լինել