diff --git a/TEMA6/Stroka.txt b/TEMA6/Stroka.txt new file mode 100644 index 0000000..3b4ec0e --- /dev/null +++ b/TEMA6/Stroka.txt @@ -0,0 +1 @@ + diff --git a/TEMA6/img1.png b/TEMA6/img1.png new file mode 100644 index 0000000..be5506e Binary files /dev/null and b/TEMA6/img1.png differ diff --git a/TEMA6/img2.png b/TEMA6/img2.png new file mode 100644 index 0000000..a29ed27 Binary files /dev/null and b/TEMA6/img2.png differ diff --git a/TEMA6/img3.png b/TEMA6/img3.png new file mode 100644 index 0000000..e5b5cd0 Binary files /dev/null and b/TEMA6/img3.png differ diff --git a/TEMA6/img4.png b/TEMA6/img4.png new file mode 100644 index 0000000..1f17b09 Binary files /dev/null and b/TEMA6/img4.png differ diff --git a/TEMA6/img5.png b/TEMA6/img5.png new file mode 100644 index 0000000..40cbe1f Binary files /dev/null and b/TEMA6/img5.png differ diff --git a/TEMA6/oplata.dbf b/TEMA6/oplata.dbf new file mode 100644 index 0000000..e69de29 diff --git a/TEMA6/report.md b/TEMA6/report.md new file mode 100644 index 0000000..2f828cb --- /dev/null +++ b/TEMA6/report.md @@ -0,0 +1,282 @@ +#Отчет по теме 6 + +Савин Семён, А-02-23 + +## Пункт 2.1. Эхо-вывод + +```py +>>> stroka = 'Автоматизированная система управления' +>>> stroka +'Автоматизированная система управления' +``` + +## Пункт 2.2. Печать + +```py +>>> fff = 234.5; gg = 'Значение температуры = ' +>>> print(gg,fff) +Значение температуры = 234.5 +>>> print(gg,fff, sep = '/') +Значение температуры = /234.5 +>>> print(gg,fff,sep='/', end = '***'); print('___') +Значение температуры = /234.5***___ +>>> print("""Здесь может выводиться +большой текст, +анимающий несколько строк""") +Здесь может выводиться +большой текст, +анимающий несколько строк +>>> print('Здесь моет находиться',) +Здесь моет находиться +>>> print('Здесь может находиться', + "большой текст,", + "занимающий несколько строк") +Здесь может находиться большой текст, занимающий несколько строк +``` + +## Пункт 2.3. Функция write + +```py +>>> import sys +>>> sys.stdout.write('Функция write') +Функция write13 +>>> sys.stdout.write('Функция write\n') +Функция write +14 +``` + +## Пункт 3. Ввод с клавиатуры + +```py +>>> psw = input('Введите пароль:') +Введите пароль:12345 +>>> psw +'12345' +>>> while True: + znach = float(input('Задайте коэф. усиления = ')) + if znach < 17.5 or znach > 23.8: + print('Ошибка') + else: + break + + +Задайте коэф. усиления = 50 +Ошибка +Задайте коэф. усиления = 14 +Ошибка +Задайте коэф. усиления = 21 +>>> znach +21.0 +>>> import math +>>> print(eval(input('введите выражение для расчёта = '))) +введите выражение для расчёта = math.log10(23/(1+math.exp(-3.24))) +1.34504378689765 +``` + +## Пункт 4. + +## Пункт 4.1. Модуль os, работа с путями + +```py +>>> import os +>>> os.chdir ('C:/Users/somas/python-labs/TEMA6') +>>> os.getcwd() +'C:\\Users\\somas\\python-labs\\TEMA6' +>>> savin = os.getcwd() +>>> savin +'C:\\Users\\somas\\python-labs\\TEMA6' +>>> print(savin) +C:\Users\somas\python-labs\TEMA6 +>>> os.mkdir("C:/Users/somas/python-labs/TEMA6/TEST") +>>> os.listdir("C:/Users/somas/python-labs/TEMA6") +['.gitkeep', 'img1.png', 'report.md', 'TEST'] +>>> os.path.isdir("C:/Users/somas/python-labs/TEMA6") +True +>>> os.path.isdir("C:/Users/somas/python-labs/TEMA") +False +>>> os.rmdir("C:/Users/somas/python-labs/TEMA6/TEST") +>>> os.listdir("C:/Users/somas/python-labs/TEMA6") +['.gitkeep', 'img1.png', 'report.md'] +>>> head, tail = os.path.split(savin) +>>> print(head) +C:\Users\somas\python-labs +>>> print(tail) +TEMA6 +>>> os.path.exists("U:/Blasphemous 2") +True +>>> os.path.exists("U:/NONE") +False +``` + +![Скриншот созданной папки TEST](img1.png) + +## Пункт 4.2 - 4.4. Изучение процесса работы с файлом, изучение функций открытия и закрытия файла. + +```py +>>> drk = ("C:/Users/somas/python-labs/TEMA6") +>>> fp = open(file=drk+'/zapis1.txt', mode = 'w') +>>> dir(fp) +['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__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+') +>>> fp.close() +``` + +## Пункт 4.5. Запись данных в файл + +```py +>>> 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() +>>> fp3.close() +>>> fp3 = open('zapis4.txt', 'w') +>>> 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() +>>> gh=open('zapis5.txt','w') +>>> for r in sps3: gh.write(r[0]+' '+str(r[1])+'\n') +``` + +![Скриншот содержания файла zapis3](img2.png) +![Скриншот содержания файла zapis4](img3.png) +![Скриншот содержания файла zapis5](img4.png) + +## Пункт 4.6. Способ чтения данных из файла + +```py +>>> 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'] +>>> sps +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] +>>> sps2 = [] +>>> for i in sps1: + sps2.append(int(i)) + + +>>> sps2 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] +``` + +## Пункт 4.7. Чтение данных через read + +```py +>>> fp = open('zapis3.txt') +>>> stroka1=fp.read(12) +>>> stroka2 = fp.read() +>>> fp.close() +>>> stroka1; stroka2 +'[1, 2, 3, 4]' +'\n[5, 6, 7, 8]\n[9, 10, 11, 12]\n' +``` + +## Пункт 4.8. Чтение данных через readline и readlines + +```py +>>> strokatest = fp.readline() +>>> strokatest +'[1, 2, 3, 4]\n' +>>> for line in fp: + print(line.rstrip()) + + +[5, 6, 7, 8] +[9, 10, 11, 12] +>>> strokatest2 = fp.readlines() +>>> strokatest2 +[] +>>> fp.close() +>>> fp = open('zapis3.txt') +>>> strokatest2 = fp.readlines() +>>> strokatest2 +['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n'] +``` + +## Пункт 4.9. Изучение модуля pickle + +```py +>>> import pickle +>>> mnoz1={'pen','book','pen','iPhone','table','book'} +>>> fp = open('zapis6.mnz', 'wb') +>>> pickle.dump(mnoz1,fp) +>>> fp.close() +>>> fp = open('zapis6.mnz', 'rb') +>>> mnoz2 = pickle.load(fp) +>>> fp.close() +>>> mnoz2 +{'iPhone', 'book', 'pen', 'table'} + +>>> fp = open('zapis7.2ob', 'wb') +>>> pickle.dump(mnoz1,fp) +>>> pickle.dump(sps3,fp) +>>> fp.close() +>>> fp = open('zapis7.2ob', 'rb') +>>> obj1 = pickle.load(fp) +>>> obj2 = pickle.load(fp) +>>> fp.close() +>>> obj1 +{'iPhone', 'book', 'pen', 'table'} +>>> obj2 +[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]] +``` + +## Пункт 5. Перенаправление потоков ввода и вывода данных + +```py +>>> import sys +>>> 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 +``` + +![Скриншот содержания файла Stroka](img5.txt) + diff --git a/TEMA6/zapis1.txt b/TEMA6/zapis1.txt new file mode 100644 index 0000000..e69de29 diff --git a/TEMA6/zapis2.bin b/TEMA6/zapis2.bin new file mode 100644 index 0000000..e69de29 diff --git a/TEMA6/zapis3.txt b/TEMA6/zapis3.txt new file mode 100644 index 0000000..8132aa8 --- /dev/null +++ b/TEMA6/zapis3.txt @@ -0,0 +1,3 @@ +[1, 2, 3, 4] +[5, 6, 7, 8] +[9, 10, 11, 12] diff --git a/TEMA6/zapis4.txt b/TEMA6/zapis4.txt new file mode 100644 index 0000000..edd0c45 --- /dev/null +++ b/TEMA6/zapis4.txt @@ -0,0 +1 @@ + . 1 . 2 . 3 \ No newline at end of file diff --git a/TEMA6/zapis5.txt b/TEMA6/zapis5.txt new file mode 100644 index 0000000..ecde2d7 --- /dev/null +++ b/TEMA6/zapis5.txt @@ -0,0 +1,3 @@ + . 1 + . 2 + . 3 diff --git a/TEMA6/zapis6.mnz b/TEMA6/zapis6.mnz new file mode 100644 index 0000000..f03121a Binary files /dev/null and b/TEMA6/zapis6.mnz differ diff --git a/TEMA6/zapis7.2ob b/TEMA6/zapis7.2ob new file mode 100644 index 0000000..dacc70e Binary files /dev/null and b/TEMA6/zapis7.2ob differ