Files
python-labs/TEMA6/report.md
2025-11-04 11:48:29 +03:00

241 строка
6.4 KiB
Markdown
Исходник Ответственный История

Этот файл содержит невидимые символы Юникода
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Отчёт по теме 6
Гордиевских Данил А-03-23
## 2 вывод данных на экран дисплея
### 2.1. Вывод в командной строке
Так назыаваемый "эхо-вывод". Как говорил Лазарев: "Гадость! Гадость! Так нельзя"
```py
>>> stroka='Автоматизированная система управления'
>>> stroka
'Автоматизированная система управления'
```
### 2.2. Вывод с использованием функции print
Вывод информации на экран. Можно испоьзовать и в теле функции и в командной строке
```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 объекта sys.stdout
```py
>>> sys.stdout.write('Функция write')
Функция write13
>>> sys.stdout.write('Функция write\n')
Функция write
14
```
## 3. Ввод данных с клавиатуры
```py
>>> psw=input('Введите пароль от БАРСа:')
Введите пароль от Барса: 1hatechihuahuas!
```
## 4. Ввод-вывод при работе с файлами
### 4.1. Функции для работы с путем к файлу
```py
>>> import os
>>> os.getcwd()
'C:\\Users\\gorda'
>>> os.chdir(r"C:\Users\gorda\YandexDisk\5 семестр\ПОАС\ПО АС\TEMA6")
>>> fil=os.path.abspath("oplata.dbf")
>>> print(fil)
C:\Users\gorda\YandexDisk\5 семестр\ПОАС\ПО АС\TEMA6\oplata.dbf
>>> os.path.isfile(fil)
True
```
### 4.3. Открытие файла для записи или чтения данных
```py
>>> fp=open('zapis1.txt','w')
>>> type()
<class '_io.TextIOWrapper'>
>>> 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']
>>> 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()
```
Содержимое файла приведено ниже
```txt
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
```
Запись списка в файл
Попытка 1
```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)
11
11
12
fp3.close()
```
Попытка 2
```py
>>> gh=open('zapis5.txt','w')
>>> for r in sps3:
... gh.write(r[0]+' '+str(r[1])+'\n')
...
12
12
13
>>> gh.close()
```
Содержимое текстового файла:
```txt
Иванов И. 1
Петров П. 2
Сидоров С. 3
```
### 4.6. Первый способ чтения информации из текстового файла
```py
>>> gh.close()
>>> sps1=[]
>>> fp=open('zapis3.txt')
>>> for stroka in fp:
... stroka=stroka.rstrip('\n')
... stroka=stroka.replace('[','')
... stroka=stroka.replace(']','')
... sps1=sps1+stroka.split(',')
...
>>> fp.close()
>>> print(sps1)
['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, stroka2)
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
```
### 4.9. Ввод-вывод объектов с использованием функций из модуля pickle
Запись
```py
>>> import pickle
>>> mnoz1={'pen','book','pen','iPhone','table','book'}
>>> fp=open('zapis6.mnz','wb')
>>> pickle.dump(mnoz1,fp)
>>> fp.close()
```
Содержимое файла
```py
Ђ# Џ”(ЊiPhone”Њpen”Њtable”Њbook”ђ.
```
Чтение
```py
>>> fp.close()
>>> fp=open('zapis6.mnz','rb')
>>> mnoz2=pickle.load(fp)
>>> fp.close()
>>> print(mnoz2)
{'iPhone', 'pen', 'table', 'book'}
```
## 5. Перенаправление потоков ввода и вывода данных
```py
>>> import sys
>>> vr_out=sys.stdout
>>> fc=open('Stroka.txt','w')
>>> sys.stdout=fc
>>> print('запись строки в файл')
>>> sys.stdout=vr_out
>>> print('запись строки на экран')
запись строки на экран
>>> fc.close()
```
Содержимое файла
```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
```