main
Solovyova_ED 4 недель назад
Родитель 01e890f9a7
Сommit 92fe7209c5

@ -1,318 +1,216 @@
\# Отчёт по теме 6 # Отчёт по теме 6
Соловьёва Екатерина А-01-23 Соловьёва Екатерина А-01-23
## 1 Запуск интерактивной оболочки IDLE
\## 1 вывод данных на экран дисплея
\### 1.1 Вывод в командной строке
```py ```py
import os
os.chdir('C:\\Users\\Ekaterina\\OneDrive\\Desktop\\Solovyova\\python-labs\\TEMA6')
```
## 2 вывод данных на экран дисплея
## 2.1 Вывод в командной строке
>>> stroka='Автоматизированная система управления' ```py
stroka='Автоматизированная система управления'
>>> stroka stroka
'Автоматизированная система управления' 'Автоматизированная система управления'
``` ```
## 2.2 Вывод с использованием функции print
\### 1.2 Вывод с использованием функции print Вывод информации на экран. Можно использовать и в теле функции и в командной строке
Вывод информации на экран. Можно испоьзовать и в теле функции и в командной строке
```py ```py
fff=234.5;gg='Значение температуры = '
>>> fff=234.5;gg='Значение температуры = ' print(gg, fff)
>>> print(gg, fff)
Значение температуры = 234.5 Значение температуры = 234.5
print(gg, fff,sep='/',end='***'); print('____')
Значение температуры = /234.5***____
print()
>>> print(gg, fff, sep='/') print(""" Здесь может выводиться
Значение температуры = /234.5
>>> print(gg, fff,sep='/',end='\*\*\*'); print('\_\_\_\_')
Значение температуры = /234.5\*\*\*\_\_\_\_
>>> print()
>>> print(""" Здесь может выводиться
  большой текст,
  занимающий несколько строк""")
 Здесь может выводиться
большой текст, большой текст,
занимающий несколько строк""")
Здесь может выводиться
большой текст,
занимающий несколько строк занимающий несколько строк
print("Здесь может выводиться",
"большой текст,",
"занимающий несколько строк")
>>> print("Здесь может выводиться", Здесь может выводиться большой текст, занимающий несколько строк
  "Большой текст",
  "Занимающий несколько строк")
Здесь может выводиться Большой текст Занимающий несколько строк
``` ```
* Тройные кавычки сохраняют структуру многострочного текста
\### 1.3 Вывод с использованием метода write объекта sys.stdout ## 2.3 Вывод с использованием метода write объекта sys.stdout
```py ```py
import sys
>>> sys.stdout.write('Функция write') sys.stdout.write('Функция write')
Функция write13 Функция write13
sys.stdout.write('Функция write\n')
>>> sys.stdout.write('Функция write\\n')
Функция write Функция write
14 14
``` ```
## 2 Ввод данных с клавиатуры
\## 2 Ввод данных с клавиатуры
```py ```py
Введите пароль:1234
>>> psw=input('Введите пароль:') print(psw)
1234
Введите пароль:a type(psw)
>>> psw
'a'
>>> type(psw)
<class 'str'> <class 'str'>
while True:
>>> while True: znach=float(input('Задайте коэф.усиления = '))
if znach<17.5 or znach>23.8:
>>> znach=float(input('Задайте коэф.усиления = ')) print('Ошибка!')
else:
>>> if znach<17.5 or znach>23.8: break
>>> print('Ошибка!')
>>> else:
>>> break
Задайте коэф.усиления = 15.4 Задайте коэф.усиления = 15.4
Ошибка! Ошибка!
Задайте коэф.усиления = 21.6 Задайте коэф.усиления = 21.6
print(znach)
>>> import math 21.6
import math
>>> print(eval(input('введите выражение для расчета = '))) print(eval(input('введите выражение для расчета = ')))
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24))) введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
1.34504378689765 1.34504378689765
``` ```
\## 3 Ввод-вывод при работе с файлами ## 4 Ввод-вывод при работе с файлами
\### 3.1 Функции для работы с путем к файлу ## 4.1 Функции для работы с путем к файлу
```py ```py
import os
>>> import os os.chdir('C:\\Users\\Ekaterina\\OneDrive\\Desktop\\Solovyova\\python-labs\\TEMA6')
solovyova=os.getcwd()#показывает какой рабочий каталог установлен в текущий момент времени
>>>solovyova=os.getcwd() print(solovyova)
C:\Users\Ekaterina\OneDrive\Desktop\Solovyova\python-labs\TEMA6
>>>solovyova os.mkdir('a')#cоздает новую директорию
os.listdir()#возвращает список имён всех файлов и папок в указанной директории
'C:\\\\Users\\\\Ekaterina\\\\OneDrive\\\\Desktop\\\\Solovyova\\\\python-labs\\\\TEMA6' ['.gitkeep', 'a', 'report.md', 'task.md']
os.path.isdir('a')#проверяет, является ли указанный путь директорией, возвращает True, если путь существует и является директорией
>>> os.mkdir('a')
>>> os.rmdir('a')
>>> os.listdir()
\['.gitkeep', 'report.md']
>>> fil=os.path.abspath("text.txt")
>>> fil
'L:\\\\III курс\\\\А-3-23\\\\Korneev\\\\text.txt'
>>> drkt=os.path.dirname(fil)
>>> drkt
'L:\\\\III курс\\\\А-3-23\\\\Korneev'
>>> os.path.basename(fil)
'text.txt'
>>> os.path.split(fil)
('L:\\\\III курс\\\\А-3-23\\\\Korneev', 'text.txt')
>>> os.path.exists(fil)
True True
os.rmdir('a')#удаляет директорию
>>> os.path.exists('L:\\\\III курс\\\\А-3-23\\\\Korneev\\\\hello.txt') os.listdir()
['.gitkeep', 'report.md', 'task.md']
fil=os.path.abspath("oplata.dbf")
print(fil)
C:\Users\Ekaterina\OneDrive\Desktop\Solovyova\python-labs\TEMA6\oplata.dbf
fil2=os.path.abspath("report.md")
print(fil2)
C:\Users\Ekaterina\OneDrive\Desktop\Solovyova\python-labs\TEMA6\report.md
drkt=os.path.dirname(fil) #функция os.path.dirname(fil) возвращает директорию (папку) из указанного пути, убирая последний компонент (обычно имя файла)
print(drkt)
C:\Users\Ekaterina\OneDrive\Desktop\Solovyova\python-labs\TEMA6
os.path.basename(fil)
'oplata.dbf'
os.path.split(fil)
('C:\\Users\\Ekaterina\\OneDrive\\Desktop\\Solovyova\\python-labs\\TEMA6', 'oplata.dbf')
os.path.exists("report.md")
True
os.path.isfile('TEMA6')
False False
os.path.isfile(fil)#проверяет наличие файла в рабочем каталоге
>>> os.path.isfile(fil)
True True
os.path.isfile(os.path.dirname(fil)+'fil1.txt')#проверяет, что по указанному пути существует файл
False
``` ```
\### 3.2 Открытие файла для записи или чтения данных ## 4.2. Общая схема работы с файлом
Для обмена данными с файлом необходимо выполнить следующие операции:
* Открытие файла с указанием его имени и цели (чтение, запись, добавление данных);
* Выполнение одной или нескольких операций обмена данными с файлом;
* Закрытие файла.
## 4.3. Открытие файла для записи или чтения данных – функция open.
```py ```py
fp=open('zapis1.txt','w')
>>> fp=open('zapis1.txt','w') type(fp);dir(fp)
<class '_io.TextIOWrapper'>
>>> type() ['_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']
<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()
``` ```
Для второго аргумента «mode=…» могут быть заданы следующие значения:
w – запись с созданием нового файла или перезапись существующего файла,
w+ - чтение и запись/перезапись файла,
\### 3.3 Запись информации в файл с помощью метода write r – только чтение (это значение - по умолчанию),
r+ - чтение и/или запись в существующий файл,
a – запись в конец существующего файла или, если его нет, запись с созданием файла,
a+ - то же, что и в «a», но с возможностью чтения из файла.
В зависимости от значения этого аргумента тип создаваемой файловой переменной может быть разным.
При открытии бинарного файла к указанным выше буквам в аргументе-цели надо добавить сим-вол «b».
```py ```py
fp1=open(drkt+'\\zapis2.bin',mode='wb+')
type(fp1)
<class '_io.BufferedRandom'>
```
>>> sps=list(range(1,13)) ## 4.4. Закрытие файла.
```py
>>> fp2=open('zapis3.txt','w') fp.close();fp1.close()
```
>>> fp2.write(str(sps\[:4])+'\\n')
>>> fp2.write(str(sps\[4:8])+'\\n')
>>> fp2.write(str(sps\[8:])+'\\n') ## 4.5 Запись информации в файл с помощью метода write
>>> fp2.close() ```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 ```txt
[1, 2, 3, 4]
\[1, 2, 3, 4] [5, 6, 7, 8]
[9, 10, 11, 12]
\[5, 6, 7, 8]
\[9, 10, 11, 12]
``` ```
Запись списка в файл
Попытка 1 Попытка 1
```py ```py
sps3=[['Иванов И.',1],['Петров П.',2],['Сидоров С.',3]]
>>> sps3=\[\['Иванов И.',1],\['Петров П.',2],\['Сидоров С.',3]] fp3=open('zapis4.txt','w')
for i in range(len(sps3)):
>>> fp3=open('zapis4.txt','w') stroka4=sps3[i][0]+' '+str(sps3[i][1])
fp3.write(stroka4)
>>> for i in range(len(sps3)): fp3.close()
>>> stroka4=sps3\[i]\[0]+' '+str(sps3\[i]\[1])
>>> fp3.write(stroka4)
>>> fp3.close()
``` ```
Содержимое текстового файла: Содержимое текстового файла:
```txt ```txt
Иванов И. 1Петров П. 2Сидоров С. 3 Иванов И. 1Петров П. 2Сидоров С. 3
``` ```
Попытка 2 Попытка 2
```py ```py
gh = open('zapis5.txt','w')
>>> gh=open('zapis5.txt','w') for r in sps3:
gh.write(r[0]+' '+str(r[1])+'\n')
>>> for r in sps3:
>>> gh.write(r\[0]+' '+str(r\[1])+'\\n')
>>> gh.close()
``` ```
@ -320,119 +218,61 @@ True
Содержимое текстового файла: Содержимое текстового файла:
```txt ```txt
Иванов И. 1 Иванов И. 1
Петров П. 2 Петров П. 2
Сидоров С. 3 Сидоров С. 3
``` ```
\### 3.4 Первый способ чтения информации из текстового файла ## 4.6 Первый способ чтения информации из текстового файла
```py ```py
sps1=[]
>>> gh.close() fp=open('zapis3.txt')
for stroka in fp:
>>> sps1=\[] stroka=stroka.rstrip('\n')
stroka=stroka.replace('[','')
>>> fp=open('zapis3.txt') stroka=stroka.replace(']','')
sps1=sps1+stroka.split(',')#Разбивает строку на части по разделителю , и возвращает список
>>> for stroka in fp: fp.close()
>>> stroka=stroka.rstrip('\\n') print(sps1)
['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12']
>>> stroka=stroka.replace('\[','') print(sps)
>>> stroka=stroka.replace(']','') [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> sps1=sps1+stroka.split(',')
>>> fp.close()
>>> print(sps1)
\['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12']
>>> sps1=\[]
>>> fp=open('zapis3.txt')
>>> for stroka in fp:
>>> stroka=stroka.rstrip('\\n')
>>> stroka=stroka.replace('\[','')
>>> stroka=stroka.replace(']','')
>>> stroka=stroka.replace(' ','')
>>> sps1=sps1 + list(map(int, stroka.split(',')))
>>> fp.close()
>>> sps1
\[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
``` ```
## 4.7 Чтение информации из файла с помощью методов readline и readlines
\### 3.5 Чтение информации из файла с помощью методов read и readline
```py ```py
fp = open('zapis3.txt', 'r')
>>> fp=open('zapis3.txt') line1 = fp.readline() # читает 1ую строку
line2 = fp.readline() # читает 2ую строку
>>> stroka1=fp.read(12) line3 = fp.readline() # читает 3ую строку
print("readline():")
>>> stroka2=fp.read() print("Строка 1:", repr(line1))
print("Строка 2:", repr(line2))
>>> fp.close() print("Строка 3:", repr(line3))
fp.close()
>>> stroka1 readline():
Строка 1: '[1, 2, 3, 4]\n'
'\[1, 2, 3, 4]' Строка 2: '[5, 6, 7, 8]\n'
Строка 3: '[9, 10, 11, 12]\n'
>>> stroka2
fp = open('zapis3.txt', 'r')
'\\n\[5, 6, 7, 8]\\n\[9, 10, 11, 12]\\n' lines = fp.readlines() # читает ВСЕ строки в список
print("readlines():", lines)
>>> fp=open('zapis3.txt') fp.close()
readlines(): ['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n']
>>> stroka3=fp.readline()
>>> stroka4=fp.readlines()
>>> fp.close()
>>> stroka3
'\[1, 2, 3, 4]\\n'
>>> stroka4
\['\[5, 6, 7, 8]\\n', '\[9, 10, 11, 12]\\n']
``` ```
\### 3.6 Ввод-вывод объектов с использованием функций из модуля pickle ## 4.8 Ввод-вывод объектов с использованием функций из модуля pickle
```py ```py
@ -506,7 +346,7 @@ True
\## 4 Перенаправление потоков ввода и вывода данных ## 4.9 Перенаправление потоков ввода и вывода данных

Загрузка…
Отмена
Сохранить