Similar presentations:
Файлы (3) (1)
1. Работа с файлами
2. Открытие файла
Прежде чем работать с файлом, необходимосоздать объект файла с помощью функции open ().
Функция имеет следующий формат:
open(<Путь к файлу>[, mode = 'r'] [, buffering=-1]
[, encoding=None] [, errors=None] [,
newline=None] [, closefd=True])
3.
Открытие файла осуществляется функциейopen, которой нужно передать два параметра.
Первый параметр (можно также
использовать именованный параметр file)
имеет значение типа str, в котором записано
имя открываемого файла.
4. В первом параметре указывается путь к файлу.
"C:\temp\new\file.txt"# Неправильно!!!
"C:\\temp\\new\\file.txt" # Правильно
r"C:\temp\new\file.txt" # Правильно
5. Скрипт находится в C:\Python3.7\my_file
"file.txt" - откроет файл из папки, гдесохранен файл(*.py) программы
"new\file.txt" - откроет файл из папки
new, которая находится в папке, где
сохранен файл(*.py) программы
«..\file.txt" - откроет файл из папки на
уровень выше папки, где сохранен
файл(*.py) программы
6.
Второй параметр (можно также использоватьименованный параметр mode) —это значение
типа str.
7. Значение второго параметра mode
'r''w'
'x'
'a'
Read. открытие на чтение (является значением по
умолчанию).
Write. открытие на запись, содержимое файла
удаляется, если файла не существует, создается
новый.
открытие на запись, если файла не существует,
иначе исключение.
Append. открытие на дозапись, информация
добавляется в конец файла.
8.
'b''t'
'+'
Binary. открытие в двоичном режиме.
открытие в текстовом режиме (является
значением по умолчанию).
открытие на чтение и запись
Режимы могут быть объединены, то есть, к примеру,
'rb' - чтение в двоичном режиме.
По умолчанию режим равен 'rt'.
Также могут быть:
rb+, wb, wb+,ab,ab+
9. Закрытие файла в Python. Метод close().
Метод файлового объекта close() автоматически закрываетфайл, при этом теряется любая несохраненная информация.
Работать с файлом (читать, записывать) после этого нельзя.
Python автоматически закрывает файл если файловый объект к
которому он привязан присваивается другому файлу. Однако,
хорошей практикой будет вручную закрывать файл командой
close().
Следует всегда закрывать дескриптор файла, так как
неизвестно когда и какая именно программа захочет получить
к нему доступ. Закрытие файла также поможет сохранить
память и избежать появления странных багов в программе.
10. Менеджер (контекста) with .. as
Конструкция with ... as используется для оборачиваниявыполнения блока инструкций менеджером контекста.
Синтаксис конструкции with ... as:
"with" expression ["as" target] ("," expression ["as" target])* ":"
suite
# (выражение.. как цель)
11. WITH ... AS удобно использовать при открытии файла(вместо open – close), так как гарантирует закрытие файла в любом случае.
with open("x.txt") as f:suite
with A() as a, B() as b:
suite
эквивалентно
with A() as a:
with B() as b:
suite
12. file.readline()
f. readline() читает одну строку из файла, завершая символомперевода строки(\n).
with open('..\m_f2.txt') as f:
line = f.readline()
while line:
print (line,end=''),
line = f.readline()
13. Метод file.readlines()
Используется для чтения всех строк (до конца символа EOF) ивозвращает список всех строк.
Если вы попали в конец символа EOF возвращается пустая строка.
fileObject.readlines( sizehint )
sizehint - количество байтов , считанных из файла.
with open(‘file.txt') as f:
for line in f.readlines():
x = int(line)
print (x*x)
with open(‘file.txt') as f:
for line in f:
x = int(line)
print (x*x)
14. Метод read()
Читает указанный файл полностью и возвращает нам его содержимое ввиде строки. После достижения конца файла, метод возвращает пустую
строку.
file.read(size) size : Число — максимальное количество данных,
которое требуется считать. Если параметр не задан, либо число
отрицательное, содержимое файла будет считано полностью.
f = open(‘file.txt')
print(f.read())
# или так
print(open(‘file.txt').read())
15. Следует помнить, что считываемый файл может быть большим. В таком случае считывать его целиком нецелесообразно — он может не
уместиться воперативной памяти.
with open('my_file.txt') as f:
f.read() # 'The only line in file.\n'
f.read() # ' '
with open('my_file.txt') as f:
f.read(5) # 'The o'
f.read(3) # 'nly'
16. Метод write()
with open (‘input.txt') as f, open('output.txt', 'w') as f1:f1.write(‘Hello world!’)
# записывает только в формате str!!!
17.
f = open('..\m_f2.txt','w')f.write('MY_TEXT33355\n')
f.close()
18.
• https://yandex.ru/video/search?filmId=13272862887773907974&text=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%
20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D0%BC%D0%B8%20
python
• https://youtu.be/x0uLRYhdKok
• https://youtu.be/_N-Z0hhMjfY
• http://gorodovets.blogspot.com/2013/07/python_27.html
• https://pythlife.blogspot.com/2012/10/blog-post.html