![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Классы встроенных исключенийСодержание книги
Поиск на нашем сайте
try: x = 1 / 0 # Ошибка: деление на 0 except ArithmeticError: # Указываем базовый класс print("Обработали деление на 0") Пользовательские исключения >>> raise ValueError("Описание исключения") Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> raise ValueError("Описание исключения") ValueError: Описание исключения
try: raise ValueError("Описание исключения") except ValueError as msg: print(msg) # Выведет: Описание исключения
class MyError(Exception): def __init__(self, value): self.msg = value def __str__(self): return self.msg # Обработка пользовательского исключения try: raise MyError("Описание исключения") except MyError as err: print(err) # Вызывается метод __str__() print(err.msg) # Обращение к атрибуту класса # Повторно возбуждаем исключение raise MyError("Описание исключения")
class MyError(Exception): pass try: raise MyError("Описание исключения") except MyError as err: print(err) # Выведет: Описание исключения
try: raise ValueError # Эквивалентно: raise ValueError() except ValueError: print("Сообщение об ошибке")
try: x = 1 / 0 except Exception as err: raise ValueError() from err
class MyError(Exception): pass try: raise MyError("Сообщение об ошибке") except MyError as err: print(err) raise # Повторно возбуждаем исключение
try: x = -3 assert x >= 0, "Сообщение об ошибке" except AssertionError as err: print(err) # Выведет: Сообщение об ошибке Итераторы, контейнеры и перечисления class MyIterator: # Определяем класс-итератор ... it = MyIterator() # Создаем его экземпляр for v in it: # и используем в цикле for ...
class MyList: # Определяем класс-список ... class MyDict: # Определяем класс-словарь ... lst, dct = MyList(), MyDict() # Используем их lst[0] = 1 dct["first"] = 578 print(lst[1]), print(dct["second"])
from enum import Enum # Импортируем базовый класс Enum class Versions(Enum): # Определяем класс-перечисление Python2.7 = "2.7" Python3.4 = "3.4" # Используем его if python_version == Versions.Python3.4: ... Итераторы Листинг 15.1. Класс-итератор class ReverseString: def __init__(self, s): self.__s = s def __iter__(self): self.__i = 0 return self def __next__(self): if self.__i > len(self.__s) - 1: raise StopIteration else: a = self.__s[-self.__i - 1] self.__i = self.__i + 1 return a
>>> s = ReverseString("Python") >>> for a in s: print(a, end="") nohtyP
Листинг 15.2. Расширенный класс-итератор class ReverseString: ... def __len__(self): return len(self.__s) def __str__(self): return self.__s[::-1]
>>> s = ReverseString("Python") >>> print(len(s)) >>> print(str(s)) nohtyP Контейнеры
Контейнеры-последовательности Листинг 15.3. Класс MutableString class MutableString: def __init__(self, s): self.__s = list(s)
# Реализуем функциональность итератора def __iter__(self): self.__i = 0 return self def __next__(self): if self.__i > len(self.__s) - 1: raise StopIteration else: a = self.__s[self.__i] self.__i = self.__i + 1 return a def __len__(self): return len(self.__s)
def __str__(self): return "".join(self.__s)
# Определяем вспомогательный метод, который будет проверять # корректность индекса def __iscorrectindex(self, i): if type(i) == int or type(i) == slice: if type(i) == int and i > self.__len__() - 1: raise IndexError else: raise TypeError
# Реализуем функциональность контейнера-списка def __getitem__(self, i): self.__iscorrectindex(i) return self.__s[i] def __setitem__(self, i, v): self.__iscorrectindex(i) self.__s[i] = v def __delitem__(self, i): self.__iscorrectindex(i) del self.__s[i] def __contains__(self, v): return v in self.__s
>>> s = MutableString("Python") >>> print(s[-1]) n >>> s[0] = "J" >>> del s[2:4] >>> print(s) Juon
>>> s[9] = "u" Контейнеры-словари Листинг 15.3. Класс Version class Version: def __init__(self, major, minor, sub): self.__major = major # Старшая цифра self.__minor = minor # Младшая цифра self.__sub = sub # Подверсия def __str__(self): return str(self.__major) + "." + str(self.__minor) + "." + str(self.__sub)
# Реализуем функциональность словаря def __getitem__(self, k): if k == "major": return self.__major elif k == "minor": return self.__minor elif k == "sub": return self.__sub else: raise IndexError def __setitem__(self, k, v): if k == "major": self.__major = v elif k == "minor": self.__minor = v elif k == "sub": self.__sub = v else: raise IndexError def __delitem__(self, k): raise TypeError def __contains__(self, v): return v == "major" or v == "minor" or v == "sub"
>>> v = Version(3, 4, 3) >>> print(v["major"]) >>> v["sub"] = 4 >>> print(str(v)) 3.4.4 Перечисления from enum import Enum class Versions(Enum): V2_7 = "2.7" V3_4 = "3.4"
from enum import IntEnum class Colors(IntEnum): Red = 1 Green = 2 Blue = 3
from enum import Enum class Versions(Enum): V2_7 = "2.7" V3_4 = "3.4" MostFresh = "3.4"
from enum import Enum, unique @unique class Versions(Enum): V2_7 = "2.7" V3_4 = "3.4"
>>> e = Versions.V3_4 >>> e <Versions.V3_4: '3.4'> >>> e.value '3.4' >>> e == Versions.V2_7 False
>>> type(Colors) <class 'enum.EnumMeta'> >>> from enum import EnumMeta >>> type(Colors) == EnumMeta True
>>> type(Colors.Red) <enum 'Colors'> >>> type(Colors.Red) == Colors True
>>> Versions.V3_4 <Versions.V3_4: '3.4'> >>> e = Versions.V3_4 >>> e <Versions.V3_4: '3.4'>
>>> Versions["V3_4"]
<Versions.V3_4: '3.4'>
>>> Versions("3.4") <Versions.V3_4: '3.4'>
>>> Versions.V2_7.name, Versions.V2_7.value ('V2_7', '2.7')
>>> list(Colors) [<Colors.Red: 1>, <Colors.Green: 2>, <Colors.Blue: 3>] >>> for c in Colors: print(c.value, end = " ") 1 2 3
>>> e = Versions.V3_4 >>> e == Versions.V3_4 True >>> e!= Versions.V2_7 True >>> e in Versions True >>> e in Colors False
>>> Colors.Red + 1 # Значение Colors.Red - 1 >>> Colors.Green!= 3 # Значение Colors.Green - 2 True >>> ["a", "b", "c"][Colors.Red] 'b'
Листинг 15.4. Перечисление, включающее атрибуты и методы from enum import Enum class VersionExtended(Enum): V2_7 = "2.7" V3_4 = "3.4"
# Методы экземпляра класса. # Вызываются у элемента перечисления def describe(self): return self.name, self.value def __str__(self): return str(__class__.__name__) + "." + self.name + ": " + self.value
# Метод объекта класса. # Вызывается у самого класса перечисления @classmethod def getmostfresh(cls): return cls.V3_4
>>> d = VersionExtended.V2_7.describe() >>> print(d[0] + ", " + d[1]) V2_7, 2.7 >>> print(VersionExtended.V2_7) VersionExtended.V2_7: 2.7 >>> print(VersionExtended.getmostfresh()) VersionExtended.V3_4: 3.4
class ExtendedColors(Colors): pass Работа с файлами и каталогами Открытие файла >>> "C:\\temp\\new\\file.txt" # Правильно 'C:\\temp\\new\\file.txt' >>> r"C:\temp\new\file.txt" # Правильно 'C:\\temp\\new\\file.txt' >>> "C:\temp\new\file.txt" # Неправильно!!! 'C:\temp\new\x0cile.txt'
>>> open("C:\temp\new\file.txt") Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> open("C:\temp\new\file.txt") OSError: [Errno 22] Invalid argument: 'C:\temp\new\x0cile.txt'
>>> import os.path # Подключаем модуль >>> # Файл в текущем рабочем каталоге (C:\book\) >>> os.path.abspath(r"file.txt") 'C:\\book\\file.txt'
>>> # Открываемый файл в C:\book\folder1\ >>> os.path.abspath(r"folder1/file.txt") 'C:\\book\\folder1\\file.txt' >>> # Открываемый файл в C:\book\folder1\folder2\ >>> os.path.abspath(r"folder1/folder2/file.txt") 'C:\\book\\folder1\\folder2\\file.txt'
>>> # Открываемый файл в C:\ >>> os.path.abspath(r"../file.txt") 'C:\\file.txt'
>>> # Открываемый файл в C:\book\folder1\ >>> os.path.abspath(r"/book/folder1/file.txt") 'C:\\book\\folder1\\file.txt' >>> # Открываемый файл в C:\book\folder1\folder2\ >>> os.path.abspath(r"/book/folder1/folder2/file.txt") 'C:\\book\\folder1\\folder2\\file.txt'
>>> os.path.sep '\\' >>> os.path.abspath(r"C:/book/folder1/file.txt") 'C:\\book\\folder1\\file.txt'
Листинг 16.1. Содержимое файла C:\book\test.py # -*- coding: utf-8 -*- import os, sys print("%-25s%s" % ("Файл:", os.path.abspath(__file__))) print("%-25s%s" % ("Текущий рабочий каталог:", os.getcwd())) print("%-25s%s" % ("Каталог для импорта:", sys.path[0])) print("%-25s%s" % ("Путь к файлу:", os.path.abspath("file.txt"))) print("-" * 40) import folder1.module1 as m m.get_cwd()
Листинг 16.2. Содержимое файла C:\book\folder1\module1.py # -*- coding: utf-8 -*- import os, sys def get_cwd(): print("%-25s%s" % ("Файл:", os.path.abspath(__file__))) print("%-25s%s" % ("Текущий рабочий каталог:", os.getcwd())) print("%-25s%s" % ("Каталог для импорта:", sys.path[0])) print("%-25s%s" % ("Путь к файлу:", os.path.abspath("file.txt")))
C:\>cd C:\book C:\book>test.py Файл: C:\book\test.py Текущий рабочий каталог: C:\book Каталог для импорта: C:\book Путь к файлу: C:\book\file.txt ---------------------------------------- Файл: C:\book\folder1\module1.py Текущий рабочий каталог: C:\book Каталог для импорта: C:\book Путь к файлу: C:\book\file.txt
C:\book>cd C:\ C:\>C:\book\test.py Файл: C:\book\test.py Текущий рабочий каталог: C:\ Каталог для импорта: C:\book Путь к файлу: C:\file.txt ---------------------------------------- Файл: C:\book\folder1\module1.py Текущий рабочий каталог: C:\ Каталог для импорта: C:\book Путь к файлу: C:\file.txt
Листинг 16.3. Пример использования функции chdir()
# -*- coding: utf-8 -*- import os, sys # Делаем каталог с исполняемым файлом текущим os.chdir(os.path.dirname(os.path.abspath(__file__))) print("%-25s%s" % ("Файл:", __file__)) print("%-25s%s" % ("Текущий рабочий каталог:", os.getcwd())) print("%-25s%s" % ("Каталог для импорта:", sys.path[0])) print("%-25s%s" % ("Путь к файлу:", os.path.abspath("file.txt")))
C:\book>C:\Python34\python test.py
C:\>C:\book\test.py Файл: C:\book\test.py Текущий рабочий каталог: C:\book Каталог для импорта: C:\book Путь к файлу: C:\book\file.txt
>>> f = open(r"file.txt", "w") # Открываем файл на запись >>> f.write("String1\nString2") # Записываем две строки в файл >>> f.close() # Закрываем файл
>>> # Бинарный режим (символ \r остается) >>> with open(r"file.txt", "rb") as f: for line in f: print(repr(line))
b'String1\r\n' b'String2' >>> # Текстовый режим (символ \r удаляется) >>> with open(r"file.txt", "r") as f: for line in f: print(repr(line)) 'String1\n' 'String2'
>>> f = open(r"file.txt", "w", encoding="utf-8") >>> f.write("Строка") # Записываем строку в файл >>> f.close() # Закрываем файл
>>> with open(r"file.txt", "r", encoding="utf-8") as f: for line in f: print(line)
Строка
>>> f = open(r"file.txt", "w", encoding="utf-8-sig") >>> f.write("Строка") # Записываем строку в файл >>> f.close() # Закрываем файл
>>> with open(r"file.txt", "r", encoding="utf-8") as f: for line in f: print(repr(line))
'\ufeffСтрока' >>> with open(r"file.txt", "r", encoding="utf-8-sig") as f: for line in f: print(repr(line))
'Строка'
>>> with open(r"file.txt", "w", encoding="utf-16") as f: f.write("Строка")
>>> with open(r"file.txt", "r", encoding="utf-16") as f: for line in f: print(repr(line))
'Строка' Методы для работы с файлами with open(r"file.txt", "w", encoding="cp1251") as f: f.write("Строка") # Записываем строку в файл # Здесь файл уже закрыт автоматически
>>> # Текстовый режим >>> f = open(r"file.txt", "w", encoding="cp1251") >>> f.write("Строка1\nСтрока2") # Записываем строку в файл >>> f.close() # Закрываем файл >>> # Бинарный режим >>> f = open(r"file.txt", "wb") >>> f.write(bytes("Строка1\nСтрока2", "cp1251")) >>> f.write(bytearray("\nСтрока3", "cp1251")) >>> f.close()
>>> # Текстовый режим >>> f = open(r"file.txt", "w", encoding="cp1251") >>> f.writelines(["Строка1\n", "Строка2"]) >>> f.close() >>> # Бинарный режим >>> f = open(r"file.txt", "wb") >>> arr = [bytes("Строка1\n", "cp1251"), bytes("Строка2", "cp1251")] >>> f.writelines(arr) >>> f.close()
>>> f = open(r"file.txt", "r") # Открываем файл для чтения >>> f.writable() False >>> f = open(r"file.txt", "w") # Открываем файл для записи >>> f.writable() True
>>> # Текстовый режим >>> with open(r"file.txt", "r", encoding="cp1251") as f: f.read()
'Строка1\nСтрока2' >>> # Бинарный режим >>> with open(r"file.txt", "rb") as f: f.read()
b'\xd1\xf2\xf0\xee\xea\xe01\n\xd1\xf2\xf0\xee\xea\xe02'
>>> # Текстовый режим >>> f = open(r"file.txt", "r", encoding="cp1251") >>> f.read(8) # Считываем 8 символов 'Строка1\n' >>> f.read(8) # Считываем 8 символов 'Строка2' >>> f.read(8) # Достигнут конец файла '' >>> f.close()
>>> # Текстовый режим >>> f = open(r"file.txt", "r", encoding="cp1251") >>> f.readline(), f.readline() ('Строка1\n', 'Строка2') >>> f.readline() # Достигнут конец файла '' >>> f.close() >>> # Бинарный режим >>> f = open(r"file.txt", "rb") >>> f.readline(), f.readline() (b'\xd1\xf2\xf0\xee\xea\xe01\n', b'\xd1\xf2\xf0\xee\xea\xe02') >>> f.readline() # Достигнут конец файла b'' >>> f.close()
>>> f = open(r"file.txt", "r", encoding="cp1251") >>> f.readline(2), f.readline(2) ('Ст', 'ро') >>> f.readline(100) # Возвращается одна строка, а не 100 символов 'ка1\n' >>> f.close()
>>> # Текстовый режим >>> with open(r"file.txt", "r", encoding="cp1251") as f: f.readlines() ['Строка1\n', 'Строка2'] >>> # Бинарный режим >>> with open(r"file.txt", "rb") as f: f.readlines()
[b'\xd1\xf2\xf0\xee\xea\xe01\n', b'\xd1\xf2\xf0\xee\xea\xe02']
>>> # Текстовый режим >>> f = open(r"file.txt", "r", encoding="cp1251") >>> f.__next__(), f.__next__() ('Строка1\n', 'Строка2') >>> f.__next__() # Достигнут конец файла Traceback (most recent call last): File "<pyshell#26>", line 1, in <module> f.__next__() # Достигнут конец файла StopIteration >>> f.close()
>>> f = open(r"file.txt", "r", encoding="cp1251") >>> for line in f: print(line.rstrip("\n"), end=" ")
Строка1 Строка2 >>> f.close()
>>> f = open(r"file.txt", "r", encoding="cp1251") >>> f.fileno() # Дескриптор файла >>> f.close()
>>> f = open(r"file.txt", "r+", encoding="cp1251") >>> f.read() 'Строка1\nСтрока2' >>> f.truncate(5) >>> f.close() >>> with open(r"file.txt", "r", encoding="cp1251") as f: f.read()
'Строк'
>>> with open(r"file.txt", "w", encoding="cp1251") as f: f.write("String1\nString2")
>>> f = open(r"file.txt", "r", encoding="cp1251") >>> f.tell() # Указатель расположен в начале файла >>> f.readline() # Перемещаем указатель 'String1\n' >>> f.tell() # Возвращает 9 (8 + '\r'), а не 8!!! >>> f.close()
>>> f = open(r"file.txt", "rb") >>> f.readline() # Перемещаем указатель b'String1\r\n' >>> f.tell() # Теперь значение соответствует >>> f.close()
>>> import io >>> io.SEEK_SET, io.SEEK_CUR, io.SEEK_END (0, 1, 2)
>>> import io >>> f = open(r"file.txt", "rb") >>> f.seek(9, io.SEEK_CUR) # 9 байтов от указателя >>> f.tell() >>> f.seek(0, io.SEEK_SET) # Перемещаем указатель в начало >>> f.tell() >>> f.seek(-9, io.SEEK_END) # -9 байтов от конца файла >>> f.tell() >>> f.close()
>>> f = open(r"C:\temp\new\file.txt", "r") >>> f.seekable() True
>>> f = open(r"file.txt", "r+b") >>> f.name, f.mode, f.closed
('file.txt', 'rb+', False) >>> f.close() >>> f.closed True
>>> f = open(r"file.txt", "a", encoding="cp1251") >>> f.encoding 'cp1251' >>> f.close()
>>> import sys >>> sys.stdout.encoding 'cp1251'
>>> f = open(r"file.txt", "w", encoding="cp1251") >>> f.buffer.write(bytes("Строка", "cp1251")) >>> f.close() 16.3. Доступ к файлам с помощью модуля os >>> import os >>> os.name # Значение в ОС Windows 8 'nt' >>> import os # Подключаем модуль
>>> mode = os.O_WRONLY | os.O_CREAT | os.O_TRUNC >>> f = os.open(r"file.txt", mode) >>> os.write(f, b"String1\n") # Записываем данные >>> os.close(f) # Закрываем файл
>>> mode = os.O_WRONLY | os.O_CREAT | os.O_APPEND >>> f = os.open(r"file.txt", mode) >>> os.write(f, b"String2\n") # Записываем данные >>> os.close(f) # Закрываем файл
>>> f = os.open(r"file.txt", os.O_RDONLY) >>> os.read(f, 50) # Читаем 50 байт b'String1\nString2\n' >>> os.close(f) # Закрываем файл
>>> f = os.open(r"file.txt", os.O_RDONLY | os.O_BINARY) >>> os.read(f, 50) # Читаем 50 байт b'String1\r\nString2\r\n' >>> os.close(f) # Закрываем файл
>>> f = os.open(r"file.txt", os.O_RDONLY) >>> os.read(f, 5), os.read(f, 5), os.read(f, 5), os.read(f, 5) (b'Strin', b'g1\nS', b'tring', b'2\n') >>> os.read(f, 5) # Достигнут конец файла b'' >>> os.close(f) # Закрываем файл
>>> f = os.open(r"file.txt", os.O_RDONLY | os.O_BINARY) >>> os.lseek(f, 0, os.SEEK_END) # Перемещение в конец файла >>> os.lseek(f, 0, os.SEEK_SET) # Перемещение в начало файла >>> os.lseek(f, 9, os.SEEK_CUR) # Относительно указателя >>> os.lseek(f, 0, os.SEEK_CUR) # Текущее положение указателя >>> os.close(f) # Закрываем файл
>>> fd = os.open(r"file.txt", os.O_RDONLY) >>> fd >>> f = os.fdopen(fd, "r") >>> f.fileno() # Объект имеет тот же дескриптор >>> f.read() 'String1\nString2\n' >>> f.close() 16.4. Классы StringIO и BytesIO >>> import io # Подключаем модуль >>> f = io.StringIO("String1\n") >>> f.getvalue() # Получаем содержимое файла 'String1\n' >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\n") >>> f.tell() # Позиция указателя >>> f.seek(0, 2) # Перемещаем указатель в конец файла >>> f.tell() # Позиция указателя >>> f.seek(0) # Перемещаем указатель в начало файла >>> f.tell() # Позиция указателя >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\n") >>> f.seek(0, 2) # Перемещаем указатель в конец файла >>> f.write("String2\n") # Записываем строку в файл >>> f.getvalue() # Получаем содержимое файла 'String1\nString2\n' >>> f.close() # Закрываем файл
>>> f = io.StringIO() >>> f.writelines(["String1\n", "String2\n"]) >>> f.getvalue() # Получаем содержимое файла 'String1\nString2\n' >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2\n") >>> f.read() 'String1\nString2\n' >>> f.seek(0) # Перемещаем указатель в начало файла >>> f.read(5), f.read(5), f.read(5), f.read(5), f.read(5) ('Strin', 'g1\nSt', 'ring2', '\n', '') >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2") >>> f.readline(), f.readline(), f.readline() ('String1\n', 'String2', '') >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2\nString3\n") >>> f.readline(5), f.readline(5) ('Strin', 'g1\n') >>> f.readline(100) # Возвращается одна строка, а не 100 символов 'String2\n' >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2\nString3") >>> f.readlines() ['String1\n', 'String2\n', 'String3'] >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2\nString3") >>> f.readlines(14) ['String1\n', 'String2\n'] >>> f.seek(0) # Перемещаем указатель в начало файла >>> f.readlines(17) ['String1\n', 'String2\n', 'String3'] >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2") >>> f.__next__(), f.__next__() ('String1\n', 'String2') >>> f.__next__() ... Фрагмент опущен... StopIteration >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2") >>> for line in f: print(line.rstrip())
String1 String2 >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2\nString3") >>> f.truncate(15) # Обрезаем файл >>> f.getvalue() # Получаем содержимое файла 'String1\nString2' >>> f.close() # Закрываем файл
>>> f = io.StringIO("String1\nString2\nString3") >>> f.seek(15) # Перемещаем указатель >>> f.truncate() # Обрезаем файл до указателя >>> f.getvalue() # Получаем содержимое файла 'String1\nString2' >>> f.close() # Закрываем файл
>>> import io # Подключаем модуль >>> f = io.BytesIO(b"String1\n") >>> f.seek(0, 2) # Перемещаем указатель в конец файла >>> f.write(b"String2\n") # Пишем в файл >>> f.getvalue() # Получаем содержимое файла b'String1\nString2\n' >>> f.seek(0) # Перемещаем указатель в начало файла >>> f.read() # Считываем данные b'String1\nString2\n' >>> f.close() # Закрываем файл
>>> f = io.BytesIO(b"Python") >>> buf = f.getbuffer() >>> buf[0] # Получаем значение по индексу b'P' >>> buf[0] = b"J" # Изменяем значение по индексу >>> f.getvalue() # Получаем содержимое b'Jython' >>> buf.tolist() # Преобразуем в список чисел [74, 121, 116, 104, 111, 110] >>> buf.tobytes() # Преобразуем в тип bytes b'Jython' >>> f.close() # Закрываем файл
|
|||||||||
Последнее изменение этой страницы: 2016-06-23; просмотров: 248; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.179.209 (0.013 с.) |