Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 358

Приложение Д. Ответы к упражнениям

3. Разберите дату из строки today_string:

>>> fmt = '%Y-%m-%d\n'

>>> datetime.strptime(today_string, fmt)

datetime.datetime(2014, 2, 4, 0, 0)

Если вы записали тот символ новой строки в файл, вам нужно, чтобы он совпал

со строкой формата.

4. Выведите на экран список файлов текущей папки.

Если ваша текущая папка называется ohmy и содержит три файла с именами по

названиям животных, код может выглядеть так:

>>> import os

>>> os.listdir('.')

['bears', 'lions', 'tigers']

5. Выведите на экран список файлов родительской папки.

Если родительская папка содержит два файла и текущую папку ohmy, код может

выглядеть так:

>>> import os

>>> os.listdir('..')

['ohmy', 'paws', 'whiskers']

6. Используйте модуль multiprocessing, чтобы создать три отдельных процесса.

Заставьте каждый из них ждать случайное количество секунд (от одной до пяти),

вывести текущее время и завершить работу.

Сохраните этот файл под именем multi_times.py:

import multiprocessing

def now(seconds):

from datetime import datetime

from time import sleep

sleep(seconds)

print('wait', seconds, 'seconds, time is', datetime.utcnow())

if __name__ == '__main__':

import random

for n in range(3):

seconds = random.random()

proc = multiprocessing.Process(target=now, args=(seconds,))

proc.start()

$ python multi_times.py

wait 0.4670532005508353 seconds, time is 2014-06-03 05:14:22.930541

wait 0.5908421960431798 seconds, time is 2014-06-03 05:14:23.054925

wait 0.8127669040699719 seconds, time is 2014-06-03 05:14:23.275767

Глава 11. Конкуренция и сети

465

7. Создайте объект date, содержащий дату вашего рождения.

Предположим, вы родились 14 августа 1982 года:

>>> my_day = date(1982, 8, 14)

>>> my_day

datetime.date(1982, 8, 14)

8. В какой день недели вы родились?

>>> my_day.weekday()

5

>>> my_day.isoweekday()