Created
August 25, 2021 19:01
-
-
Save hodunov/e6eedfa374a9e02016ca4306f515a346 to your computer and use it in GitHub Desktop.
homework 9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 1. Написать функцию, которая получает в виде параметра имя файла названия | |
# интернет доменов (domains.txt) | |
# и возвращает их в виде списка строк (названия возвращать без точки). | |
def get_domains(filename): | |
""" | |
Функция возвращает название интернет доменов | |
:param filename: строка с именем файла | |
:return: список | |
""" | |
try: | |
with open(filename, "r") as file: | |
return [line.strip()[1:] for line in file.readlines()] | |
except FileNotFoundError as error: | |
return f"THIS IS {error}" | |
print(get_domains("next/domains.txt")) | |
# 2. Написать функцию, которая получает в виде параметра имя файла (names.txt) | |
# и возвращает список всех фамилий из него. | |
# Каждая строка файла содержит номер, фамилию, страну, некоторое число (таблица взята с википедии). | |
# Разделитель - символ табуляции "\t" | |
def get_second_names(filename): | |
# result = [] | |
# with open(filename, 'r') as file: | |
# for line in file.readlines(): | |
# result.append(line.split('\t')[1]) | |
# return result | |
with open(filename, "r") as file: | |
return [line.split("\t")[1] for line in file.readlines()] | |
# print(get_second_names('names.txt')) | |
# 3. Написать функцию, которая получает в виде параметра имя файла (authors.txt) и возвращает список | |
# словарей вида {"date_original": date_original, "date_modified": date_modified} | |
# в которых date_original - это дата из строки (если есть), | |
# а date_modified - эта же дата, представленная в формате "dd/mm/yyyy" (d-день, m-месяц, y-год) | |
# Например [{"date_original": "8th February 1828", "date_modified": 08/02/1828}, ...] | |
from datetime import datetime | |
my_month = datetime.strptime("February", "%B").month | |
date = "26th Feb 1802" | |
day, month, year = date.split() | |
res_date = f"{day[:-2]} {month} {year}" | |
my_date = datetime.strptime(res_date, "%d %b %Y") | |
my_date = datetime.strftime(my_date, "%d/%m/%Y") | |
def get_only_dates(filename): | |
""" | |
:param filename: | |
:return: | |
""" | |
result = [] | |
with open(filename, "r") as file: | |
for line in file.readlines(): | |
my_line = line.split(" - ") | |
if len(my_line) > 1: | |
date = my_line[0] | |
day, month, year = date.split() | |
my_date = datetime.strptime(f"{day[:-2]} {month} {year}", "%d %B %Y") | |
result.append( | |
{ | |
"date_original": date, | |
"date_modified": datetime.strftime(my_date, "%d/%m/%Y"), | |
} | |
) | |
return result | |
print(get_only_dates("authors.txt")) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment