Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
import webbrowser import os import json from tkinter import * def write_json_file(path_to_file: str, data: dict) -> None: try: with open(f'{create_path_if_not_found(path_to_file)}/links.json', 'r') as json_file: json_data = json.load(json_file) for key in data: json_data[key] = data[key] json.dump(json_data, open(f'{create_path_if_not_found(path_to_file)}/links.json', 'w')) except FileNotFoundError: default_links = { 'youtube': 'https://www.youtube.com/', 'rutube': 'https://rutube.ru/', 'yandex': 'https://yandex.ru/', 'lamoda': 'https://www.lamoda.ru/', 'ozon': 'https://www.ozon.ru/', 'wildberries': 'https://www.wildberries.ru/' } with open(f'{create_path_if_not_found(path_to_file)}/links.json', 'w') as json_file: json.dump(default_links, json_file) finally: print('Сайт добавлен.') def read_json_file(path_to_file: str) -> None: try: with open(f'{path_to_file}/links.json') as json_file: data = json.load(json_file) for name_site, link_to_site in data.items(): yield name_site, link_to_site except FileNotFoundError as e_fnf: print(f'Ошибка! Подробнее: {e_fnf}') def create_path_if_not_found(path_to_file: str) -> str: if not os.path.exists(f'{path_to_file}'): os.mkdir(f'{path_to_file}') return path_to_file def add_site(): dict_link = { txt_name.get(): txt_link.get() } write_json_file('sites', dict_link) def start_sites(): for name_site, link_to_site in read_json_file('sites'): webbrowser.open(link_to_site, new=2) print(f'Сайт {name_site} загружается! Ссылка: {link_to_site}') def get_list_sites(): print('Список сайтов: ') for name_site, link_to_site in read_json_file('sites'): print(f'\tИмя сайта {name_site} Ссылка: {link_to_site}') def clear_list_sites(): if input('Вы уверены, что хотите удалить все сайты? Нажмите 1, если да, и любую кнопку, если нет. \n>>>') == '1': try: path = os.path.join(str(os.path.abspath(os.path.dirname(__file__))) + '/sites', 'links.json') os.remove(path) except FileNotFoundError: pass finally: print('Список очищен.') window = Tk() window.title("Добро пожаловать в приложение PythonRu") window.geometry('1024x720') lbl_name = Label(window, text="Название сайта.") lbl_name.grid(column=0, row=0) txt_name = Entry(window, width=10) txt_name.grid(column=1, row=0) lbl_link = Label(window, text="Ссылка на сайт.") lbl_link.grid(column=0, row=1) txt_link = Entry(window, width=10) txt_link.grid(column=1, row=1) btn_add = Button(window, text="Добавить сайт в список.", command=add_site) btn_add.grid(column=0, row=3) btn_start = Button(window, text="Запустить сайты.", command=start_sites) btn_start.grid(column=0, row=4) btn_get_sites = Button(window, text="Получить список сайтов.", command=get_list_sites) btn_get_sites.grid(column=0, row=5) btn_get_sites = Button(window, text="Очистить список сайтов.", command=clear_list_sites) btn_get_sites.grid(column=0, row=6) window.mainloop()
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)