From 8b0c8679ce604f560315f05d37a63675cc1a0b1a Mon Sep 17 00:00:00 2001 From: Lykova Liza Date: Mon, 10 Nov 2025 12:30:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA6/OPLATA.dbf | 0 TEMA6/Stroka.txt | 1 + TEMA6/bin.mnz | Bin 0 -> 695 bytes TEMA6/report.md | 365 +++++++++++++++++++++++++++++++++++++++++++++++ TEMA6/ris1.png | Bin 0 -> 3430 bytes TEMA6/task.md | 63 ++++++++ TEMA6/zapis1.txt | 0 TEMA6/zapis2.bin | 0 TEMA6/zapis3.txt | 3 + TEMA6/zapis4.txt | 1 + TEMA6/zapis6.mnz | Bin 0 -> 46 bytes TEMA6/zapis7.2ob | Bin 0 -> 139 bytes 12 files changed, 433 insertions(+) create mode 100644 TEMA6/OPLATA.dbf create mode 100644 TEMA6/Stroka.txt create mode 100644 TEMA6/bin.mnz create mode 100644 TEMA6/report.md create mode 100644 TEMA6/ris1.png create mode 100644 TEMA6/task.md create mode 100644 TEMA6/zapis1.txt create mode 100644 TEMA6/zapis2.bin create mode 100644 TEMA6/zapis3.txt create mode 100644 TEMA6/zapis4.txt create mode 100644 TEMA6/zapis6.mnz create mode 100644 TEMA6/zapis7.2ob diff --git a/TEMA6/OPLATA.dbf b/TEMA6/OPLATA.dbf new file mode 100644 index 0000000..e69de29 diff --git a/TEMA6/Stroka.txt b/TEMA6/Stroka.txt new file mode 100644 index 0000000..48d3f7e --- /dev/null +++ b/TEMA6/Stroka.txt @@ -0,0 +1 @@ + diff --git a/TEMA6/bin.mnz b/TEMA6/bin.mnz new file mode 100644 index 0000000000000000000000000000000000000000..cca1b627de64b7fe9f03413b27f04b646ea4539a GIT binary patch literal 695 zcmYL{%}T>i5QUpiMBk*V;{B^F_y#Hnu3ZRbAql;UN+G*GK$f@f>wIS@7CM>VbIxRP zSzm{KrQc@hQ*34qn7x^>GZV`#^jxwq)1pFn#A8g&iLhYYv*r#YVHS-(S(pQDn!-eK zA>&~Jxh!sYd<>Lq1;G{dGUYVt6&%zcsVx#^CJTf?{CLq!XW05%y#qj?zB06sxgLoR zut{hVmUgsUM_%w00qmo+O1d^7B&T9Vx*)Wxdi_m`4>U3R*67j#fh#DN*g_NkCP57Y z;{ta>3W$K@Op*Our1U8-Vo(E0eNo-vhUj^{T9Y9Xf%#QYrjzM{t`VRl$$;x4DZBRD zwwLww**~|{XWJ}yuk%>XUu}8#s8c=9?!VY$8jfRa%l&)(uG49p&3zlD +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 Путь к файлу. + +```py +import os +os.getcwd() +'C:\\Users\\Home\\Desktop\\python-labs\\TEMA6' +Lykova = os.getcwd() +print(Lykova) +C:\Users\Home\Desktop\python-labs\TEMA6 +os.mkdir('C:\\Users\\Home\\Desktop\\python-labs\\newdir') #Создает новую директорию. +os.rmdir('C:\\Users\\Home\\Desktop\\python-labs\\newdir') #Удаляет директорию. +os.listdir('C:\\Users\\Home\\Desktop\\python-labs') +['.git', '.gitignore', 'README.md', 'TEMA0', 'TEMA1', 'TEMA2', 'TEMA3', 'TEMA4', 'TEMA5', 'TEMA6', 'TEMA7', 'TEMA8', 'TEMA9'] +os.path.isdir('C:\\Users\\Home\\Desktop\\python-labs') #Проверяет, является ли указанный +True +fil = os.path.abspath('OPLATA.dbf') +fil +'C:\\Users\\Home\\Desktop\\python-labs\\TEMA6\\OPLATA.dbf' +drkt = os.path.dirname(fil) +drkt +'C:\\Users\\Home\\Desktop\\python-labs\\TEMA6' +os.path.basename(fil) +'OPLATA.dbf' +os.path.split(fil) +('C:\\Users\\Home\\Desktop\\python-labs\\TEMA6', 'OPLATA.dbf') #Функция отдельно выводит путь к файлу и его наименование. +os.path.exists(fil) +True +fil2 = os.path.abspath('neoplata.dbf') +os.path.exists(fil2) +False +os.path.isfile(fil) +True +os.path.isfile(os.path.dirname(fil)+'fil1.txt') +False +``` + +## 4.2 Общая схема работы с файлом. + +## 4.3 Функция open. + +```py +help(open) +Help on built-in function open in module _io: + +open( + file, + mode='r', + buffering=-1, + encoding=None, + errors=None, + newline=None, + closefd=True, + opener=None +) + ... + + ========= =============================================================== + Character Meaning + --------- --------------------------------------------------------------- + 'r' open for reading (default) + 'w' open for writing, truncating the file first + 'x' create a new file and open it for writing + 'a' open for writing, appending to the end of the file if it exists + 'b' binary mode + 't' text mode (default) + '+' open a disk file for updating (reading and writing) + ========= =============================================================== + + The default mode is 'rt' (open for reading text). For binary random + access, the mode 'w+b' opens and truncates the file to 0 bytes, while + 'r+b' opens the file without truncation. The 'x' mode implies 'w' and + raises an `FileExistsError` if the file already exists. + + ... + + * On input, if newline is None, universal newlines mode is + enabled. Lines in the input can end in '\n', '\r', or '\r\n', and + these are translated into '\n' before being returned to the + caller. If it is '', universal newline mode is enabled, but line + endings are returned to the caller untranslated. If it has any of + the other legal values, input lines are only terminated by the given + string, and the line ending is returned to the caller untranslated. + + * On output, if newline is None, any '\n' characters written are + translated to the system default line separator, os.linesep. If + newline is '' or '\n', no translation takes place. If newline is any + of the other legal values, any '\n' characters written are translated + to the given string. + + ... + + open() returns a file object whose type depends on the mode, and + through which the standard file operations such as reading and writing + are performed. When open() is used to open a file in a text mode ('w', + 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open + a file in a binary mode, the returned class varies: in read binary + mode, it returns a BufferedReader; in write binary and append binary + modes, it returns a BufferedWriter, and in read/write mode, it returns + a BufferedRandom. + + It is also possible to use a string or bytearray as a file for both + reading and writing. For strings StringIO can be used like a file + opened in a text mode, and for bytes a BytesIO can be used like a file + opened in a binary mode. +fp=open(file=drkt+'\\zapis1.txt',mode='w') + +fp=open(drkt+'\\zapis1.txt','w') + +fp=open('zapis1.txt','w') + +type(fp) + + +dir(fp) + +['_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'] +``` + +## 4.4 Закрытие файла. + +```py +fp.close() +``` + +## 4.5 Запись в файл с помощью write. + +```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() +``` + +[Созданный файл](zapis3.txt) + +```py +sps3=[['Иванов И.',1],['Петров П.',2],['Сидоров С.',3]] +fp3=open('zapis4.txt','w') +for i in range(len(sps3)): + stroka4=sps3[i][0]+' '+str(sps3[i][1]) + fp3.write(stroka4) + +fp3.close() +``` + +[Созданный файл](zapis4.txt) + +```py +gh=open('zapis5.txt','w') +for r in sps3: + gh.write(f'{r[0]} {str(r[1])}\n') + +gh.close() +``` + +## 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] +spsnew = [int(i.strip()) for i in sps1] +spsnew +[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() + +print(stroka1) +[1, 2, 3, 4] +print(stroka2) + +[5, 6, 7, 8] +[9, 10, 11, 12] +``` + +## 4.8 Методы readline и readlines. + +```py +fp = open('zapis3.txt') +r = fp.readline() +rr = fp.readline() +print(r) +[1, 2, 3, 4] +print(rr) +[5, 6, 7, 8] +fp.close() +fp = open('zapis3.txt') +rrr = fp.readlines() +print(rrr) +['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n'] +fp.close() +``` + +## 4.9 Функции модуля pickle. + +```py +import pickle +mnoz1={'pen','book','pen','iPhone','table','book'} +fp = open('zapis6.mnz','wb') +pickle.dump(mnoz1,fp) +fp.close() +``` + +![белиберда](ris1.png) + +```py +fp=open('zapis6.mnz','rb') +mnoz2=pickle.load(fp) +fp.close() +mnoz2 +{'book', 'iPhone', 'pen', 'table'} +mnoz1 == mnoz2 +True +``` + +Результат ввода mnoz1 и вывода mnoz2 различаются, потому что множество не имеет порядка элементов и их повторений. + +```py +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() +print(obj1,obj2) +{'book', 'iPhone', 'pen', 'table'} [['Иванов И.', 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() +``` + +[Запись в файл](Stroka.txt) + +```py +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 +``` \ No newline at end of file diff --git a/TEMA6/ris1.png b/TEMA6/ris1.png new file mode 100644 index 0000000000000000000000000000000000000000..7f8f2f9611be34102c0b6af83ca8954fa96f9aac GIT binary patch literal 3430 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 literal 0 HcmV?d00001 diff --git a/TEMA6/zapis7.2ob b/TEMA6/zapis7.2ob new file mode 100644 index 0000000000000000000000000000000000000000..80c26ecc25cc2d9ce7bff55237776e381df2fab7 GIT binary patch literal 139 zcmZo*nX1eH0sT`ndRUV3^RuV)uw@2h0vHN&70E0T9TNQlR9OBUIWY2AgJot zDH=f3BXD8Hg-sVWT-bYI--S&I7iQ>9@n%egNX);m^Q63p*}s Qxv&o=wGb%9oSLc!0AuhxhyVZp literal 0 HcmV?d00001