手把手用python教你拿即时的卫星影像装饰你的桌面
一个有趣的灵魂W
天天看着你们可爱的桌面腻不腻?天天看Windows推送的桌面腻不腻?天天对着动漫diss腻不腻?给你们推一个新视角~从天上往下看!偶尔对着台风可以说一声,你diss我,我看着你!
先合成一张酷酷的气象云图(假彩色):
这个图是由日本人民的葵花气象卫星合成的RGB彩色图,葵花卫星有提供一个FTP的下载途径,免费提供气象云图。这个卫星是个地球静止卫星,不展开了,总之就是,每天你都可以盯着他看!
好了,这个工程主要分为3个部分,第一个是下数据,二是转RGB,三是出桌面。以及一个隐藏功能,每天更新!其中每天更新我就不做了,因为我懒啊(理直气壮)。
01
下数据
用到了ftplib这个库
from ftplib import FTP
ftp.connect('host',port=21)
ftp.login('user','pass')
02
转RGB
用到netCDF和opencv库,当然你也可以用其他的(gdal,PIL......)
import netCDF4
import numpy as np
import cv2
cv2.namedWindow('merge',0)
cv2.imshow("merge",merge)
cv2.waitKey(0)
cv2.destroyAllWindows()#查看图片
03
桌面
windows的win系列库
import win32gui,win32con
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,'c:/pytemp/b/1.png')
一串下来,打完收工(我不太习惯写太多的函数,让我看着难受,直接写脚本可以省很多代码块,但是就是容易不通用,我哪管得了那么多?因为我懒啊!)
代码里有几个注意的事项,如果你要每天更换,我写了一个时间的函数,用来替换每天的路径选项,文本中有个注意点是,我在日期里加了一个-1的参数,是因为,0300这个UTC时间的数据亮(白天)覆盖面比较大,比较好看,但是你如果运行时间过早,人家数据还没传上去,你就肯定下不了。所以我-1的目的是为了让你看昨天的数据。
如果你要源码,还是加我公众号‘一个有趣的灵魂W’
回复‘kh’获取吧
" 往期
"
微信号:一个有趣的灵魂W
关注我们,了解更多
最后,桌面
- jboss eap 6.3 域(Domain)模式配置
- 揭穿数据分析的12个神话
- jboss eap 6.3 集群(cluster)配置
- Django中Q查询及Q()对象
- jboss eap 6.3 集群(cluster)-Session 复制(Replication)
- JSP中的Servlet及Filter
- Django ORM详解
- Web前端培训:怎样成长为一个优秀的Web 前端开发工程师?
- Git操作
- 人工智能做的肉,你想吃吗?
- 二、爬虫基础库
- 鱼与熊掌兼得,既要云服务创新也要管理传统网络
- Django-model进阶(中介模型,查询优化,extra,整体插入)
- flask-session组件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 『.Net反射』ILGenerator.Emit 动态MSIL 编程
- Spring通过XML配置文件以及通过注解形式来AOP 来实现前置,后置,环绕,异常通知
- 切面编程(环绕通知与前后置通知区别)
- Spring在代码中获取bean的几种方式
- Spring 一个接口多个实现类怎么注入
- ASP.NET MVC Controller的激活
- js 逗号表达式
- spring动态调用方法
- Spring AOP动态代理原理与实现方式
- 基于注解多数据源解决方案
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- 你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
- java阻塞队列得实现
- 谈谈如何利用 valgrind 排查内存错误
- 用java写一个死锁