«Работа с файлами» - файл

приобрести
скачать (43.4 kb.)


Некоммерческое акционерное общество «АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»

Кафедра Космическая техника и технологии

ОТЧЕТ по

практической работе № 3



По дисциплине:

Основы построения систем автоматического управления

На тему:

«Работа с файлами»

Специальность:

«5B074600-Космическая техника и технологии»

Выполнил:

Костоусова Е.А. Группа: KTT-19-2




(Полное имя)

Принял:

магистр Ибраим М.С.




(Ученая степень, звание, полное имя)

_______ _____________ «___»_________ 2021 г.

(оценка) (подпись)

Алматы 2021

Содержание


Введение 3

1 Написание и проверка кода для задания №1 4

2 Написание и проверка кода для задания №2 6

Вывод 8



Введение


Цель работы: изучение файлов в Python.

Python поддерживает множество различных типов файлов, но условно их можно разделить на два вида: текстовые и бинарные.

Текстовые файлы - это к примеру файлы с расширением cvs, txt, html, в общем любые файлы, которые сохраняют информацию в текстовом виде.

Бинарные файлы - это изображения, аудио и видеофайлы и т.д. В зависимости от типа файла работа с ним может немного отличаться.

В данном случае будут рассматриваться простые текстовые файлы, созданные в онлайн компиляторе.

Задание практической работы:

1. Дано имя файла целых чисел. Найти количество элементов, содержащихся в данном файле. Если файла с таким именем не существует, то вывести −1.

2. Дан файл целых чисел, содержащий более 50 элементов. Уменьшить его размер до 50 элементов, удалив из файла необходимое количество конечных элементов.



1 Написание и проверка кода для задания №1


Программа к заданию выводит результат: 1 – если файл не найден или число элементов в файле:

try: #Костоусова Е.А. КТТ-19-2

somefile = open("txt", "w") #Открытие файла на запись

try:


somefile.write("29894913") #Содержимое файла

except Exception as e:

print(e) #Вывод заданных значений в файл

finally:


somefile.close() #Закрытие файла

try:


file = open('txt') #При желании для проверки наличия файла имя файла в этой строке можно менять

except IOError as e: #Исключение ошибки открытия

print(u'1') #Вывести 1, если файл не существует

else:


with file:

def file_size(txt): #Объявление переменной размера файла

with open(txt) as f:

return len(f.read())

print("количество элементов в файле:",file_size('txt')) #Вывод количества элементов

Для проверки кода его необходимо занести в компилятор и проверить (рисунок 1). Для этого воспользуемся веб-компилятором GDB.


Рисунок 1 – Код в рабочем окне GDB


Далее запускается проверка кода и выводится результат работы программы (рисунок 2).

Рисунок 2 – Работа кода, когда файл существует


Теперь попробуем изменить имя файла в 10-й строке и посмотрим, что выведет программа (рисунок 3).

Рисунок 3 – Работа кода, когда файл не существует



2 Написание и проверка кода для задания №2


Программа для второго задания

import random

def GenerateNumbers(fname):

N = random.randint(50,70) #Рандомный выбор кол-ва эл-в в файле

print("N = ",N)

L = [] #Создается строка

x = random.randrange(1,10) #x рандомно выбирается из диапазона от 1 до 10 для каждого элемента строки

L.append(x) #Добавление в конец списка

for i in range(1,N):

lst_rnd = list(range(1,10))

lst_rnd.remove(x) #Заполнение строки рандомными x-ми

x = random.choice(lst_rnd)

L.append(x)

try:


f = open(fname, "w") #Открытие файла

try:


for x in L:

line = str(x)+"\n" #Внести полученную строку в файл

f.write(line)

finally:


f.close() #Закрытие файла

except IOError:

print('Write error: ',fname)

f_input = "file29_in.txt" #Объявление исходного файла

f_output = "file29_out.txt" #Объявление уменьшенного файла

GenerateNumbers(f_input)

print("Исходный файл:",f_input)

print("Уменьшенный:",f_output)


try:

with open(f_input, 'r') as f_in, open(f_output, 'w') as f_out:

for i in range(50): #Первые 50 элементов

line = f_in.readline()

f_out.write(line) #Записываются в уменьшенный файл

except IOError:

print('Open error: ',file1)

Для проверки кода его необходимо занести в компилятор и проверить (рисунок 4). Для этого воспользуемся веб-компиляторомGDB.


Рисунок 4 – Код в рабочем окне GDB


Далее запускается проверка кода и выводится результат работы программы (рисунок 5-7).

Рисунок 5 – Исходный файл


Рисунок 6 – Уменьшенный файл


Рисунок 7 – Вывод кода




Вывод


В ходе практической работы были практически применены знания о файлах и их обработке языком программирования Python.

В ходе работы выполнены 2 задания на файлы.



В первом задании было выведено число элементов в файле, если н существует. Если не существует – выводилась 1.

Во втором задании было создано два файла. Первый автоматически заполнялся случайными числами – элементами, число которых было больше 50. После первые 50 элементов этого файла переносились во второй файл.

Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации