Python概要
1. 语言特点
- 免费、开源
是FLOSS自由开放源代码之一。
- 跨平台
除了与平台库相关的模块,可以移植到目前市面绝大多数操作系统平台。
- 简单
一种简单主义思想的语言,没有那么多技巧。与Perl语言设计思想相反:
- snippet.txt
Python: "There should be one-- and preferably only one --obvious way to do it." Perl: "There's more than one way to do it."
- 面向对象
支持面向对象编程。
- 模块化
符合模块化设计思想。轻松编写功能独立的模块,也可以方便地导入第三方库。
- 简洁
语法格式简洁,没有“{ }”,有严格的格式规范。
2. 开发环境
- IDE
- 交互式命令行。
- PyCharm:商用,支持整套开发流程。
- Eclipse + PyDev:满足基本开发需求。
- 选择版本
- 2.7:稳定,认可度高,目前仍在更新。
- 2.6:redhat 6.x自带版本。
- 3.x:不建议使用。标准变更较大,尚未走出混沌。
- PyInstaller
- 把脚本编译成可脱离Python环境的可执行程序。免费,跨平台。
- GUI 图形用户界面
- Tkinter:标准的Python GUI库。
- wxPython:wxWindows开源的Pyhon接口。
- JPython:Python脚本无缝接入Java类库。
3. 实例
引入第三方模块
Python导入第三方模块(Linux的.so或者Windows的.dll)。
主程序:
- snippet.python
#! /usr/bin/env python #coding: utf-8 import multiprocessing from Tkinter import * import add ### Global param g_APPTitle = u"Hello World" ### App class class MyApp: def __init__(self, parent): global g_APPTitle parent.title(g_APPTitle) self.parent = parent ### main if __name__ == '__main__': multiprocessing.freeze_support() g_Root = Tk() g_MyApp = MyApp(g_Root) sta, val = add.Add(10, 20) print sta, val g_Root.mainloop()
引入第三方模块的子模块:
- snippet.python
#! /usr/bin/env python #coding: utf-8 import platform from ctypes import * ### a Add b def Add(a, b): state = True value = 0 try: os_name = platform.system() os_name = os_name.lower() print os_name if os_name == "linux": dll = CDLL("./add_linux.so") elif os_name == "windows": dll = CDLL("./add_win.dll") value = dll.Add(a, b) except: state = False return state, value
案例源码:下载
执行shell命令
执行shell命令方法:
- snippet.python
# 方法1 import subprocess pSP = subprocess.Popen("ls -al", stderr=subprocess.STDOUT, stdout=subprocess.PIPE. shell=True, preexec_fn=None) # 方法2 import os os.system("ping 192.168.150.131") # 方法2 import commands (status, output) = commands.getstatusoutput("ls -al")
- 方法1:异步执行:
- 方法2和3:同步执行;
打赏作者以资鼓励: