Сделал лабораторную намбер 6, осталось контрольное задание

main
Ogarkov Ilya 2 дней назад
Родитель 4f4bd5ee01
Сommit bebe611a8c

@ -0,0 +1 @@
запись строки в файл

@ -0,0 +1,237 @@
# Отчёт по теме 6. Ввод-вывод данных и операции с файлами
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла `report.md`
## 2. Вывод данных на экран дисплея
2.1. Вывод в командной строке
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
2.2. Вывод с использованием функции print
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
fff=234.5;gg='Значение температуры = '
print(gg,fff, sep="/")
Значение температуры = /234.5
print(gg, fff,sep='/',end='***'); print('____')
Значение температуры = /234.5***____
print(""" Здесь может выводиться
большой текст,
занимающий несколько строк""")
Здесь может выводиться
большой текст,
занимающий несколько строк
print("Здесь может выводиться",
"большой текст,",
"занимающий несколько строк")
Здесь может выводиться большой текст, занимающий несколько строк
2.3. Вывод с использованием метода write объекта sys.stdout
import sys
sys.stdout.write('Функция write')//это файловый объект, который представляет стандартный вывод программы; функция write выводит количесто символов
Функция write13
sys.stdout.write('Функция write\n')
Функция write
14//количество символов увеличилось на +1, так как /n - это тоже отдельныйы символ
## 3. Ввод данных с клавиатуры
psw=input('Введите пароль:')
Введите пароль:1234
psw;type(psw)
'1234'
<class 'str'>
while True:
znach=float(input('Задайте коэф.усиления = '))
if znach<17.5 or znach>23.8:
print('Ошибка!')
else:
break
Задайте коэф.усиления = 15.4
Ошибка!
Задайте коэф.усиления = 21.6
import math
print(eval(input('введите выражение для расчета = ')))
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
1.34504378689765
## 4. Ввод-вывод при работе с файлами.
4.1. Функции для работы с путем к файлу
import os
os.getcwd() //функция показывает, какой рабочий каталог установлен в текущий момент времени(cwd = current working directory)
'C:\\Program Files\\Python311'
Ogarkov = os.getcwd();print(Ogarkov)
C:\Program Files\Python311
os.chdir('d:\\users\\tmp5\\') \\изменение расположения рабочего каталога
os.mkdir("C:\\Users\\Ilya\\Desktop\\mkdir") \\создание новой директории
os.rmdir("C:\\Users\\Ilya\\Desktop\\mkdir") \\удаляет пустую директорию. Если в директории есть файлы или другие папки - возникает ошибка
os.listdir("C:\\Users\\Ilya\\Desktop") \\возвращает список имён всех файлов и папок в указанной директории
['1.py', 'Adobe Photoshop 2025.lnk', 'AIDA64.lnk', 'bar', 'Cisco Secure Client.lnk', 'desktop.ini', 'Google Chrome.lnk', 'Labs', 'MSI Afterburner.lnk', 'Nexus', 'OBS Studio.lnk', 'python-labs', 'qBittorrent.lnk', 'Remote Desktop Connection.lnk', 'Telegram.lnk', 'Visual Studio Code.lnk', 'Wub', 'Yandex.lnk', 'ВАЖНОЕ_СЕРВЕР.txt', 'Документы огарков А.С', 'Золотой фонд цитат.txt', 'КМ1ОгарковИльяА-03-23.docx', 'Новая папка', 'Покер', 'Расписание.txt', 'РКН ФИКС', 'ТАУ', 'Фото']
import os.path
os.path.isdir("C:\\Users\\Ilya\\Desktop\\ТАУ") \\проверяет, является ли указанный путь директорией, возвращает True, если путь существует и является директорией
True
os.path.abspath("LICENSE.txt")
'C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\Python313\\LICENSE.txt'
drkt = os.path.dirname(fil);drkt \\функция os.path.dirname(fil) возвращает директорию (папку) из указанного пути, убирая последний компонент (обычно имя файла)
'C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\Python313'
os.path.basename(Ogarkov) \\возвращает последний компонент пути - обычно это имя файла или конечной папки
'Python313'
os.path.split(Ogarkov) \\разделяет путь на две части: директорию и имя файла/папки. Возвращает кортеж (head, tail)
('C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python', 'Python313')
os.path.exists(Ogarkov) \\проверяет существование пути
True
os.path.exists("C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\mkdir")
os.path.isfile(fil) \\проверяет наличие файла в рабочем каталоге
True
4.3. Открытие файла для записи или чтения данных – функция open.
os.chdir('C:\\Users\\Ilya\\Desktop\\python-labs\\TEMA6')
fp=open(file='zapis1.txt',mode='w')
type(fp);dir(fp)
<class '_io.TextIOWrapper'>
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'reconfigure', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'write_through', 'writelines']
fp1=open('zapis2.bin',mode='wb+')
4.4. Закрытие файла
fp.close();fp1.close()
4.5. Запись информации в файл с помощью метода write
sps = list(range(1,13))
fp2=open('zapis3.txt','w')
fp2.write(str(sps[:4])+'\n')
13
fp2.write(str(sps[4:8])+'\n')
13
fp2.write(str(sps[8:])+'\n')
16
fp2.close()
for i in range(len(sps3)):
stroka4=sps3[i][0]+' '+str(sps3[i][1])
fp3.write(stroka4)
11
11
12
fp3.close()
gh = open('zapis5.txt','w')
for r in sps3:
gh.write(r[0]+' '+str(r[1])+'\n')
12
12
13
gh.close()
4.6. Первый способ чтения информации из текстового файла
fp = open('zapis3.txt')
for stroka in fp:
stroka=stroka.rstrip('\n')
stroka=stroka.replace('[','')
stroka=stroka.replace(']','')
sps1=sps1+stroka.split(',')
fp.close()
sps1
['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12']
4.7. Чтение информации из файла с помощью метода read
fp = open('zapis3.txt')
stroka1 = fp.read(12); stroka1 \\число показывает количество читаемых символов в txt или количество бит в бит файле
'[1, 2, 3, 4]'
stroka2 = fp.read()
stroka2
'\n[5, 6, 7, 8]\n[9, 10, 11, 12]\n'
fp.close()
4.8. Чтение информации с помощью методов readline и readlines
fp = open('zapis3.txt', 'r')
fp.readline() \\функция читает одну строку
'[1, 2, 3, 4]\n'
fp.close()
fp = open('zapis3.txt', 'r')
fp.readlines() \\функция читает все строки
['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n']
fp.close()
4.9. Ввод-вывод объектов с использованием функций из модуля pickle
import pickle \\это модуль в Python для сериализации и десериализации объектов. Он преобразует объекты Python в поток байтов (сериализация) и обратно (десериализация)
mnoz1={'pen','book','pen','iPhone','table','book'}
fp = open('zapis6.mnz','wb')
pickle.dump(mnoz1, fp) \\функция dump принимает объект и сериализует в поток байтов
fp.close()
fp = open('zapis6.mnz', 'rb')
mnoz2 = pickle.load(fp); mnoz2 \\load – метод чтения объекта из бинарного файла
{'pen', 'iPhone', 'book', 'table'}
fp.close()
fp = open('zapis7.2ob', 'wb')
pickle.dump(mnoz1, fp)
sps3=[['Иванов И.',1],['Петров П.',2],['Сидоров С.',3]]
pickle.dump(sps3,fp)
fp.close()
fp = open('zapis7.2ob', 'rb')
obj1 = pickle.load(fp); obj1
{'pen', 'iPhone', 'book', 'table'}
obj2 = pickle.load(fp); obj2
[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]]
sps3
[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]]
fp.close()
## 5. Перенаправление потоков ввода и вывода данных
import sysм \\это импорт встроенного модуля sys, который предоставляет доступ к системным параметрам и функциям, связанным с интерпретатором Python
vr_out = sys.stdout
fc = open('Stroka.txt', 'w')
sys.stdout = fc
print('запись строки в файл')
sys.stdout = vr_out
print('запись строки на экран')
запись строки на экран
fc.close()
tmp_in = sys.stdin
fd = open("Stroka.txt", "r")
sys.stdin = fd
sys.stdin
<_io.TextIOWrapper name='Stroka.txt' mode='r' encoding='cp1251'>
while True:
try:
line = input()
print(line)
except EOFError:
break
запись строки в файл
fd.close()
sys.stdin = tmp_in

@ -1,79 +0,0 @@
# Отчёт по теме 6. Ввод-вывод данных и операции с файлами
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла `report.md`
## 2. Вывод данных на экран дисплея
2.1. Вывод в командной строке
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
2.2. Вывод с использованием функции print
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
fff=234.5;gg='Значение температуры = '
print(gg,fff, sep="/")
Значение температуры = /234.5
print(gg, fff,sep='/',end='***'); print('____')
Значение температуры = /234.5***____
print(""" Здесь может выводиться
большой текст,
занимающий несколько строк""")
Здесь может выводиться
большой текст,
занимающий несколько строк
print("Здесь может выводиться",
"большой текст,",
"занимающий несколько строк")
Здесь может выводиться большой текст, занимающий несколько строк
2.3. Вывод с использованием метода write объекта sys.stdout
import sys
sys.stdout.write('Функция write')//это файловый объект, который представляет стандартный вывод программы; функция write выводит количесто символов
Функция write13
sys.stdout.write('Функция write\n')
Функция write
14//количество символов увеличилось на +1, так как /n - это тоже отдельныйы символ
## 3. Ввод данных с клавиатуры
psw=input('Введите пароль:')
Введите пароль:1234
psw;type(psw)
'1234'
<class 'str'>
while True:
znach=float(input('Задайте коэф.усиления = '))
if znach<17.5 or znach>23.8:
print('Ошибка!')
else:
break
Задайте коэф.усиления = 15.4
Ошибка!
Задайте коэф.усиления = 21.6
import math
print(eval(input('введите выражение для расчета = ')))
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
1.34504378689765
## 4. Ввод-вывод при работе с файлами.
4.1. Функции для работы с путем к файлу
import os
os.getcwd() //функция показывает, какой рабочий каталог установлен в текущий момент времени(cwd = current working directory)
'C:\\Program Files\\Python311'
Ogarkov = os.getcwd();print(Ogarkov)
C:\Program Files\Python311

@ -0,0 +1,3 @@
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]

@ -0,0 +1 @@
Иванов И. 1Петров П. 2Сидоров С. 3

@ -0,0 +1,3 @@
Иванов И. 1
Петров П. 2
Сидоров С. 3

Двоичные данные
TEMA6/zapis6.mnz

Двоичный файл не отображается.

Двоичные данные
TEMA6/zapis7.2ob

Двоичный файл не отображается.
Загрузка…
Отмена
Сохранить