Ubuntu에 로그인하면 일기예보 응용 프로그램이 자동으로 시작됩니다.

16499 단어 UbuntuPython
실행 환경
Ubuntu Stdio 17.10
Python 3.6.3
lubuntu의 노트북에 설치할 때 tkinter를 설치하지 않았기 때문에 소프트웨어 패키지의 설치 방법을 소개했다.
처음에 패키지 부족 오류가 발생하면
ModuleNotFoundError:No module name d'패키지 이름'
$pip install 패키지 이름 Python2 계열
$pip3install 패키지 이름 Python3 계열
가방 이름을 모를 때.
$pip 검색 패키지 이름의 일부 이름
$pip3search 패키지 이름의 일부 이름
pip에서 찾을 수 없을 때
$ apt search tkinter

python-tk/artful, now2.7.14-1amd64 [설치됨]
Tkinter-Python Tk 응용 프로그램 만들기
python3-tk/artful, now3.6.3-0ubuntu1amd64 [설치됨]
Tkinter - Writing Tk applications with Python 3.x
tkinter 설치 방법
$ sudo apt update
$sudo apt python3-tk Python3 시스템 설치 시

1. 프로그램을 작성한다.


Python으로 날씨 정보를 얻는 방법·City Code 등은 아래 홈페이지를 참조하십시오.
weather.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import requests
import json
import time

import tkinter as tk

url = 'http://weather.livedoor.com/forecast/webservice/json/v1'
payload = {'city': '270000'} # 大阪
data = requests.get(url, params = payload).json()

printdata = data['title']

printdata = printdata + "\n" 

printdata = printdata + "\n" + data['description']['text']

for forecast in data['forecasts']:
    printdata = printdata + "\n" 
    printdata = printdata + "\n" + forecast['dateLabel']+'('+forecast['date']+') :' + forecast['telop']

printdata = printdata + "\n" 

root = tk.Tk()
root.title('天気予報')

text_widget = tk.Text(root, font=('', 20, "bold"))
text_widget.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.E, tk.W))

root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)

text_widget.insert('1.0', printdata)
root.mainloop()
weather.py 실행 권한을 부여합니다.
$ chmod +x weather.py
터미널에서 실행합니다.
$ ./weather.py

2. 바로 가기를 작성합니다.


텍스트 편집기에서 weather.desktop을 만듭니다.
weather.desktop
[Desktop Entry]
Name=天気予報
Comment=This is my comment
Exec=python3 "/home/・・・/weather.py"
Icon=/home/・・・/application.png
Terminal=false
Type=Application
weather.데스크톱 실행 권한을 부여합니다.
$ chmod +x weather.desktop
weather.데스크톱이 두 번 클릭하여 시작되었는지 확인하십시오.

3. 로그인할 때 자동으로 시작하도록 설정합니다.


Ubuntu Stdio 17.10
설정 관리자 > 세션 및 시작 > 프로그램 자동 시작 > + 추가 (A) 단추 > 이름을 입력하고 명령 모음 오른쪽에 있는 파일 아이콘을 눌러 weather를 진행합니다.Desktop을 선택합니다.->OK
Linux Mint18.2의 경우
메뉴 > 응용 프로그램 > 설정 > 자동 시작 응용 프로그램 > 자동 시작 프로그램 대화상자 > 자동 시작 프로그램 탭 > 추가 단추 > 일기예보 > 명령(M): 참조...단추>weather.desktop > 추가 (A) 단추 선택
이렇게 하면 다음 로그인부터 일기예보가 표시됩니다.
weather.데스크톱 파일을 "Exec=/home/.../weather.py"라고 설명하면 실행되지 않습니다.

YAHOO 비구름 레이더 열기 버튼 추가


일기예보를 보면 날씨가 좋지 않은 상황에서 야후 우운 레이더를 보고 비가 오는지 확인하고 싶어서 야호 우운 레이더를 켜는 버튼을 추가했다.
원래 상기 코드에만 단추를 추가할 계획이었으나 기술이 성숙하지 않아 오류를 해결할 수 없어 추가 단추로 참고하는 HP로 변경했습니다.
weather1.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import requests
import json
import time

import webbrowser
import tkinter

#YAHOO雨雲レーダーを開く
def on_clicked():
    url1 = "https://weather.yahoo.co.jp/weather/zoomradar/"
    webbrowser.open(url1) 

url = 'http://weather.livedoor.com/forecast/webservice/json/v1'
payload = {'city': '270000'} # 大阪
data = requests.get(url, params = payload).json()

printdata = data['title']

printdata = printdata + "\n"

printdata = printdata + "\n" + data['description']['text']

for forecast in data['forecasts']:
    printdata = printdata + "\n"
    printdata = printdata + "\n" + forecast['dateLabel']+'('+forecast['date']+') :' + forecast['telop']

printdata = printdata + "\n"

window = tkinter.Tk()
window.title('天気予報')

label = tkinter.Label(window, text = printdata, justify='left', font=('', 20, "bold")) 
label.pack()  

button = tkinter.Button(window, text = "YAHOO雨雲レーダーを開く", command = on_clicked, font=('', 20, "bold") ) 
button.pack() 

window.mainloop()

터미널에서 HP를 켜면 어떻게든 경고가 표시되지만 검색을 해도 해결책을 찾기 어렵다.
로그인할 때 자동으로 시작할 때 터미널이 시작되지 않으므로 경고가 표시되지 않습니다.

참고 자료
python 날씨api에서 최근 날씨 얻기
https://qiita.com/shizuma/items/ad04e08ab31ba436d34e
Python으로 날씨 정보 얻기
http://rongonxp.hatenablog.jp/entry/2017/10/05/230320
livedoor Weather Hacks API에서 날씨 데이터를 얻기 위한 JSON의 1차 세분구(city 라벨)의 지역 id 일람표 요약
https://www.kaden1000.com/2013/04/livedoor-weather-hacks1%E6%AC%A1%E7%B4%B0%E5%88%86%E5%8C%BA%EF%BC%88city%E3%82%BF%E3%82%B0%EF%BC%89%E3%81%AE%E5%9C%B0%E5%9F%9Fid%E4%B8%80%E8%A6%A7%E3%81%BE%E3%81%A8%E3%82%81/
버튼 참조를 추가하는 홈 페이지
http://www.nslabs.jp/monkey-python-02b.rhtml

좋은 웹페이지 즐겨찾기