Latest posts on Помогите со скриптом на python3 topichttp://python.su/forum/topic/38010/2019-11-07T10:34:51+02:00Общий :: Python для новичков :: Помогите со скриптом на python3
2019-11-07T10:34:51+02:00sapanovskiy205335у меня большие проблемы с пониманием как работает argparse <br/><br/>import os, sys<br/>import argparse<br/>import requests<br/>import smtplib<br/>import ssl<br/>import getpass<br/><br/><br/><br/>port = 587 # For starttls<br/>smtp_server = “<a href="http://smtp.gmail.com" rel="nofollow">smtp.gmail.com</a>”<br/>#sender_email = input(“Enter your email:”) #“<a href="mailto:sapanovskiy.test@gmail.com">sapanovskiy.test@gmail.com</a>”<br/>#receiver_email = “<a href="mailto:sapanovskiy@gmail.com">sapanovskiy@gmail.com</a>”<br/>#password = getpass.getpass('Password:')<br/><br/>parser = argparse.ArgumentParser()<br/>parser.add_argument('city', type=str, help='Input city name')<br/>parser.add_argument('apikeyfile', type=argparse.FileType('r'), help='Input apikeyfile name')<br/><br/>args = parser.parse_args()<br/>if args.city:<br/> city = args.city<br/>print(“City: ”+ city + “.”)<br/><br/>if args.apikeyfile:<br/> api_key = args.apikeyfile<br/>print (“Api: ”+ apikeyfile + “.”)<br/><br/><br/># password = getpass.getpass('Password:')<br/><br/> <br/><br/>base_url = r"<a href="http://api.openweathermap.org/data/2.5/weather?">http://api.openweathermap.org/data/2.5/weather?</a>“<br/># city = input(”Enter City Name = “)<br/>message = f”Subject: Weather forecast for the city - {city}\n\n“<br/>comp_url = base_url + ”appid=“ + api_key + ”&q=" + city<br/>response = requests.get(comp_url)<br/>j = response.json()<br/>if j != “404”:<br/> y = j<br/> temp = round(int(y)-273)<br/> pressure = y<br/> humidity = y <br/> message = message + f“Temperature (in Celsius unit) = {temp}\nAtmospheric pressure (in hPa unit) = {pressure}\nHumidity (in percentage) = {humidity} ”<br/> print(message) <br/>else:<br/> print(“City Not Found”)<br/><br/>context = ssl.create_default_context()<br/>with smtplib.SMTP(smtp_server, port) as server:<br/> server.ehlo() # Can be omitted<br/> server.starttls(context=context)<br/> server.ehlo() # Can be omitted<br/> server.login(sender_email, password)<br/> server.sendmail(sender_email, receiver_email, message)
Общий :: Python для новичков :: Помогите со скриптом на python3
2019-11-06T21:47:13+02:00sapanovskiy205332python3:<br/>Используйте <a href="https://openweathermap.org/api%2C">https://openweathermap.org/api,</a> os, запросы, argparser, smtplib, чтобы создать инструмент командной строки python для отображения текущей погоды.<br/>Этот инструмент должен использовать 3 параметра: city, apikeyfile и необязательные «электронные письма» - список через запятую. (Используйте .split в python для разделения)<br/>Если «электронные письма» существуют - скрипт должен проверить и прочитать имя пользователя и пароль Gmail из переменных среды GMAIL_USER, GMAIL_PASSWORD и использовать их для отправки электронного письма с текущей температурой, давлением, влажностью всем получателям из списка электронных писем.<br/>В противном случае выведите эти данные на консоль.<br/>apikeyfile - путь к файлу с ключом API openweathermap.