123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- import os
- import shutil
- poem = \
- '''There was a young lady named Bright,
- Whose speed was far faster than light;
- She started one day
- In a relative way,
- And returned on the previous night.
-
- '''
- text = """
- Красивое лучше, чем уродливое.
- Явное лучше, чем неявное.
- Простое лучше, чем сложное.
- Сложное лучше, чем запутанное.
- Плоское лучше, чем вложенное.
- Разреженное лучше, чем плотное.
- Читаемость имеет значение.
- Особые случаи не настолько особые, чтобы нарушать правила.
- При этом практичность важнее безупречности.
- Ошибки никогда не должны замалчиваться.
- Если они не замалчиваются явно.
- Встретив двусмысленность, отбрось искушение угадать.
- Должен существовать один и, желательно, только один очевидный способ сделать это.
- Хотя он поначалу может быть и не очевиден, если вы не голландец [^1].
- Сейчас лучше, чем никогда.
- Хотя никогда зачастую лучше, чем прямо сейчас.
- Если реализацию сложно объяснить — идея плоха.
- Если реализацию легко объяснить — идея, возможно, хороша.
- Пространства имён — отличная штука! Будем делать их больше!
- """
- # print в файл
- def test_1():
- my_file = open('1.txt', 'wt')
- print(poem, file=my_file)
- my_file.write(poem)
- my_file.close()
- def write_to_file(file_name: str, data: str):
- with open(file_name, 'w') as file:
- file.write(data)
- # Чтение файла фрагментами
- def read_from_file(file_name: str):
- with open(file_name, 'r') as file:
- dzen = ''
- chunk = 100
- while True:
- fragment = file.read(chunk)
- print(len(fragment))
- if not fragment:
- break
- else:
- dzen += fragment
-
- print(dzen)
- # Чтение файла построчно
- def read_line_1(file_name: str):
- with open(file_name, 'r') as file:
- dzen = ''
- while True:
- line = file.readline()
- if not line:
- break
- else:
- dzen += line
- print(dzen)
- # Чтение файла построчно. Упрощенный вариант.
- def read_line_2(file_name: str):
- with open(file_name, 'r') as file:
- dzen = ''
- for line in file:
- dzen += line
- print(dzen)
- # Создание бинарного файла
- def generate_bin_file():
- bdata = bytes(range(0, 256))
- with open('bin_file.txt', 'wb') as file:
- file.write(bdata)
- # В функции seek(offset, origin) второй аргумент origin
- # определяет начальную позицию для считывания
- def file_seek(file_name: str):
- with open(file_name, 'rb') as file:
- # print(file.tell())
- # print(file.seek(10))
- # print(file.tell())
- file.seek(255)
- bdata = file.read()
- print(len(bdata))
- print(bdata)
- #
- def test_os():
- # Существование файла
- print(os.path.exists('ooo.txt'))
- print(os.path.exists('sadfasdf.awef'))
- print(os.path.exists('.'))
- print(os.path.exists('..'))
- # Проверить тип
- print(os.path.isfile('file.py'))
- print(os.path.isdir('.'))
- # Копирование файлов
- def test_copy():
- shutil.copy('file_1.txt', 'file_2.txt')
- os.rename('file_1.txt', 'file_2.txt')
- # write_to_file('python_dzen.txt', text)
- # read_from_file('python_dzen.txt')
- # read_line_2('python_dzen.txt')
- # generate_bin_file()
- # file_seek('bin_file.txt')
-
- test_os()
|