多平台统一管理软件接口,如何实现多平台统一管理软件接口
497
2022-06-09
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。在可以运行于多个平台。PyQt5拥有双重协议,自由开发者可以选择免费的GPL版本,仅当你准备将PyQt用于商业活动时,你必须为此交付commercial许可费用。以下是小编为你整理的python交互程序设计入门教程
QtCore模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的 time、文件、目录、数据类型、文本流、链接、mime、线程或进程等对象。
QtGui模块涵盖多种基本图形功能的类; 包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面 和字体文本。
QtWidgets模块包含了一整套UI元素组件,用于建立符合系统风格的classic界面,非常方便,可以在安装时选择是否使用此功能。
QtMultimedia模块包含了一套类库,该类库被用于处理多媒体事件,通过调用API接口访问摄像头、语音设备、收发消息(radio functionality)等。
QtBluetooth模块包含了处理蓝牙活动的类库,它的功能包括:扫描设备、连接、交互等行为。
QtNetwork模块包含用于网络编程的类库,这组类程序通过提供便捷的TCP/IP 及 UDP 的 c/s 程式码集合,使得基于Qt的网络编程更容易。
import smtplib
import smtplib
from email.mime.text import MIMEText
to_list=["xxx@xxxxx"]
host="smtp.xxx"
username="xxx"
password="xxx"
postfix="xxx"
def send_plain_mail(send_list,title,content):
me="<"+username+"@"+postfix+">"
msg = MIMEText(content,_subtype='plain',_charset='gb2312')
msg['Subject'] = title
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
server = smtplib.SMTP()
server.connect(host)
server.login(username,password)
server.sendmail(me, to_list, msg.as_string())
server.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
email_title = "title::"
email_content = "content::"
if send_plain_mail(to_list,email_title,email_content):
print "send success !"
else:
print "send failed !"
云基础设施
这年头,不支持云平台,不支持海量数据,不支持动态伸缩,根本不敢说自己是做大数据的,顶多也就敢跟人说是做商业智能(BI)。
云平台分为私有云和公有云。私有云平台如日中天的 OpenStack,就是 Python 写的。曾经的追赶者 CloudStack,在刚推出时大肆强调自己是 Java 写的,比 Python 有优势。结果,搬石砸脚,2015 年初,CloudStack 的发起人 Citrix 宣布加入 OpenStack 基金会,CloudStack 眼看着就要寿终正寝。
如果嫌麻烦不想自己搭建私有云,用公有云,不论是 AWS,GCE,Azure,还是阿里云,青云,在都提供了 Python SDK,其中 GCE 只提供 Python 和 JavaScript 的 SDK,而青云只提供 Python SDK。可见各家云平台对 Python 的重视。
提到基础设施搭建,不得不提 Hadoop,在今天,Hadoop 因为其 MapReduce 数据处理速度不够快,已经不再作为大数据处理的首选,但是 HDFS 和 Yarn——Hadoop 的两个组件——倒是越来越受欢迎。Hadoop 的开发语言是 Java,没有官方提供 Python 支持,不过有很多第三方库封装了 Hadoop 的 API 接口(pydoop,hadoopy 等等)。
Hadoop MapReduce 的替代者,是号称快上 100 倍的 Spark,其开发语言是 Scala,但是提供了 Scala,Java,Python 的开发接口,想要讨好那么多用 Python 开发的数据科学家,不支持 Python,真是说不过去。HDFS 的替代品,比如 GlusterFS,Ceph 等,都是直接提供 Python 支持。Yarn 的替代者,Mesos 是 C++ 实现,除 C++ 外,提供了 Java 和 Python 的支持包。
python的优点
Python世界最棒的地方之一,就是大量的第三方程序包。同样,管理这些包也非常容易。按照惯例,会在 requirements.txt 文件中列出项目所需要的包。每个包占一行,通常还包含版本号。这里有一个例子
Python 程序包有一个缺陷是,它们默认会进行全局安装。我们将要使用一个工具,使我们每个项目都有一个独立的环境,这个工具叫virtualenv。我们同样要安装一个更高级的包管理工具,叫做pip,他可以和virtualenv配合工作。
首先,我们需要安装pip。大多数python安装程序已经内置了easy_install(python默认的包管理工具),所以我们就使用easy_install pip来安装pip。这应该是你最后一次使用easy_install 了。如果你并没有安装easy_install ,在linux系统中,貌似从python-setuptools 包中可以获得。
如果你使用的Python版本高于等于3.3, 那么Virtualenv 已经是标准库的一部分了,所以没有必要再去安装它了。
下一步,你希望安装virtualenv和virtualenvwrapper。Virtualenv使你能够为每个项目创造一个独立的环境。尤其是当你的不同项目使用不同版本的包时,这一点特别有用。Virtualenv wrapper 提供了一些不错的脚本,可以让一些事情变得容易。
当virtualenvwrapper安装后,它会把virtualenv列为依赖包,所以会自动安装。
打开一个新的shell,输入mkvirtualenv test 。如果你打开另外一个shell,则你就不在这个virtualenv中了,你可以通过workon test 来启动。如果你的工作完成了,可以使用deactivate 来停用。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~