是FLOSS自由开放源代码之一。
除了与平台库相关的模块,可以移植到目前市面绝大多数操作系统平台。
一种简单主义思想的语言,没有那么多技巧。与Perl语言设计思想相反:
Python: "There should be one-- and preferably only one --obvious way to do it." Perl: "There's more than one way to do it."
支持面向对象编程。
符合模块化设计思想。轻松编写功能独立的模块,也可以方便地导入第三方库。
语法格式简洁,没有“{ }”,有严格的格式规范。
Python导入第三方模块(Linux的.so或者Windows的.dll)。
主程序:
#! /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()
引入第三方模块的子模块:
#! /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命令方法:
# 方法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")