Файлдар. Файлдармен жұмыс

Файлдармен жұмыс. Файлдарды ашу және жабу.

Python тілінде функцияны def кілт сөзін пайдаланып анықтайды.

Мәтіндік файлдар Екілік файлдар
Мысалы, cvs, txt, html кеңейтімі бар файлдар, жалпы алғанда, ақпаратты мәтін түрінде сақтайтын кез келген файлдар. Мысалы, бұл суреттер, аудио және бейне файлдар және т.б. Файл түріне байланысты онымен жұмыс істеу сәл өзгеше болуы мүмкін.

Файлдармен жұмыс істеу кезінде сіз белгілі бір әрекеттер тізбегін орындауыңыз керек:


Файлмен жұмыс істеу кезеңдері:

Р/с Атауы
1 Файлды ашу
2 Оқу режимі
3 Жазу режимі
4 Деректер қосу режимі
5 Файлмен жұмыс істеу
6 Файлды жабу

  • open() әдісі арқылы файлды ашу
  • read() әдісі арқылы файлды оқу немесе write() әдісі арқылы файлға жазу
  • close() әдісі арқылы файлды жабу

Файлды ашу және жабу

Файлмен жұмыс істеуді бастау үшін оны келесі ресми анықтамасы бар open() функциясы арқылы ашу керек:

open(file, mode)

Функцияның бірінші параметрі файлға жолды көрсетеді. Файл жолы абсолютті болуы мүмкін, яғни диск әрпінен басталады, мысалы, C://somedir/somefile.txt . Немесе салыстырмалы болуы мүмкін, мысалы, somedir/somefile.txt - бұл жағдайда файл іске қосылған Python сценарийінің орнына қатысты ізделеді.

Өткізілген екінші аргумент modeонымен не істейтінімізге байланысты файлды ашу режимін орнатады. 4 жалпы режим бар:

Файлмен жұмыс істеу кезеңдері:

Режим Белгі
r (Read) Файл оқу үшін ашылады. Егер файл табылмаса, FileNotFoundError ерекше жағдайы шығарылады
w (Write) Файл жазу үшін ашылады. Егер файл жоқ болса, ол жасалады. Егер ұқсас файл бұрыннан бар болса, ол жаңадан жасалады және сәйкесінше ондағы ескі деректер жойылады.
a(Append) Жазу режимі
b (Binary) Екілік файлдармен жұмыс істеу үшін қолданылады. Басқа режимдермен бірге қолданылады - w немесе r, мысалы, rb (екілік файлдарды оқу) және wb (екілік файлдарды жазу).

Мысалы, жазу үшін «hello.txt» мәтіндік файлын ашайық:


1-мысал.

Кіріс файлында (input.txt) x және y сандары берілген. Кіріс файлдан екі санды оқып, (output.txt) шығу файлына екі санның қосындысын жазайық.


2-мысал.

Қорапта түрлі-түсті моншақтар бар. Барлық моншақтардың пішіні, өлшемі және салмағы бірдей. Моншақтар N түрлі түстің бірі болуы мүмкін. Қорапта әр түсті көптеген моншақтар бар.
Қарамай-ақ қораптан суырып алуға болатын моншақтардың ең аз санын анықтау талап етіледі, сонда олардың арасында бір түсті екі моншақтың болуына кепілдік беріледі.

INPUT.TXT OUTPUT.TXT
3 4
Коды
f_in = open('input.txt', 'r')
f_out = open('output.txt', 'w')
n = int(f_in.readline())
res = n + 1
f_out.write(str(res))
f_in.close()
f_out.close()

3-мысал.

Сандармен негізгі операциялардың бірі оларды салыстыру болып табылады. Сіз бұл әрекетті жақсы меңгергенсіз және кез келген сандарды, соның ішінде бүтін сандарды салыстыра аласыз деп күдіктенеміз. Бұл есепте екі бүтін санды салыстыру керек.

INPUT.TXT OUTPUT.TXT
5
7
<
-7
-12
>
13
13
=

Практикум.

A есеп. Жаңғақтар
(Уақыты: 1 сек. Жад: 16 МБ)

Тиін орманда N конус пен жаңғақ жинады. Тиін қарағай конусын таңдауда өте талғампаз болды және тек М жаңғағы барларды ғана алды. Қыста аман қалу үшін кем дегенде K жаңғақ қажет екені де белгілі. Тиіннің қыста жеткілікті жаңғақтары бар-жоғын анықтаңыз.

Деректерді енгізу
INPUT.TXT кіріс файлының бірінші жолында бос орынмен бөлінген үш натурал сандар бар: N, M және K (N, M ≤ 100, K ≤ 10 000).

Басып шығару
OUTPUT.TXT шығыс файлында тиінде жаңғақ жеткілікті болса, «ИӘ» деп басып шығарыңыз, ал болмаса «ЖОҚ» деп басып шығарыңыз.

INPUT.TXT OUTPUT.TXT
4 5 20 YES
4 5 21 NO
3 2 1 YES

В есеп. Баскетбол
(Уақыты: 1 сек. Жад: 16 МБ)

Баскетбол ойынының әрбір 4 ширегінде нәтиже белгілі болды. Матчтың жеңімпазын анықтауымыз керек. Матч бойы ең көп ұпай жинаған команда жеңеді.

Деректерді енгізу
INPUT.TXT кіріс файлы 4 жолды қамтиды, әрбір жолда екі бүтін a және b - сәйкес тоқсандағы қорытынды балл бар. а – бірінші топтың тоқсанда жинаған ұпай саны, б – екінші топтың тоқсанда жинаған ұпай саны. (0 ≤ a,b ≤ 100).

Басып шығару
OUTPUT.TXT шығыс файлында ұтыс ойыны кезінде ұтқан команданың нөмірін басып шығарыңыз, «TRAW» басып шығарыңыз;

INPUT.TXT OUTPUT.TXT
26 17
13 15
19 11
14 16
1
14 15
17 18
20 20
15 17
2
15 16
18 17
10 12
14 12
DRAW

C есеп. Статистика
(Уақыты: 1 сек. Жад: 16 МБ)

Рома ағылшын тілін ұнатпайды, бірақ барабаншы болып қалу үшін әр тоқсанда кем дегенде В алуға тырысады. Ағымдағы тоқсанда Рома мынадай заңдылықты байқады: айдың тақ күндерінде ол С бағасын алды, ал жұп күндері ол С бағасын алды. Бұл бағаларды қай күндері алғаны да есінде. Сондықтан ол қанша С және қанша В бар екенін есептеу үшін осы күндердің бәрін қағаз бетіне түсірді. Ромаға жұп және тақ сандарды әртүрлі жолдарға қою арқылы көмектесіңіз. Төрттік үштіктен кем болмаса, Рома 4 деген бағаға сене алады.

INPUT.TXT кіріс файлының бірінші жолында жалғыз N саны бар – бүтін массив элементтерінің саны (1 ≤ N ≤ 100). Екінші жолда берілген массивті білдіретін N сандар бар. Әрбір массив элементі 1-ден 31-ге дейінгі натурал сан болып табылады. Барлық массив элементтері бос орынмен бөлінген.

OUTPUT.TXT шығыс файлының бірінші жолында Вася үштік алған айлардың күндеріне сәйкес келетін сандарды шығару керек, ал екінші жолда сәйкесінше Вася төрттік алған айдың сандарын орналастыру керек. Үшінші жолда Вася төртке сене алатын болса, «ИӘ», ал басқаша «ЖОҚ» деп шығару керек. Әрбір жолда сандар кіріс деректерінде көрінетін ретпен шығарылуы керек. Шығару кезінде сандар бос орындармен бөлінеді.

INPUT.TXT OUTPUT.TXT
5
4 16 19 31 2
19 31
4 16 2
YES
8
29 4 7 12 15 17 24 1
29 7 15 17 1
4 12 24
NO

D есеп. Үшбұрыш - 3
(Уақыты: 1 сек. Жад: 16 МБ)

Үш сегменттің ұзындығы берілген. Біз олардың бұзылмаған үшбұрыштың қабырғалары бола алатынын тексеруіміз керек.

Деректерді енгізу
INPUT.TXT кіріс файлының бірінші жолында бос орынмен бөлінген XYZ 3 натурал саны бар - берілген сегменттердің ұзындықтары. Сегменттердің ұзындығы 1000-нан аспайды.

Басып шығару
OUTPUT.TXT шығыс файлында сегменттер үшбұрыштың қабырғалары болуы мүмкін болса, ИӘ, ал басқа жағдайда ЖОҚ шығарылады.

INPUT.TXT OUTPUT.TXT
3 4 5 YES
1 1 5 NO

Қорытынды

Қорытындылай келгенде, файлдармен жұмыс жасау компьютерлік жүйеде өте маңызды дағдылардың бірі болып табылады. Файлдармен жұмыс істегенде негізгі әрекеттерге файлдарды ашу, сақтау, көшіру, жылжыту, жою және түрлендіру жатады. Бұл әрекеттер әртүрлі бағдарламалар мен құралдар арқылы жүзеге асырылады.