python 教程 第二十二章、 其它应用

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 第二十二章、 其它应用 1)    Web服务 ##代码 s 000063.SZ ##开盘 o 26.60 ##最高 h 27.05 ##最低 g 26.

第二十二章、 其它应用
1)    Web服务

##代码  s     000063.SZ 
##开盘  o     26.60 
##最高  h     27.05 
##最低  g     26.52 
##最新  l1    26.66 
##涨跌  c1    -0.04 
##涨幅  p2    -0.15% 
##总手  v     9190865 
##日期  d1    6/15/2011 
##时间  t1    3:00am  
 
#!/usr/bin/env python  
 
from time import ctime 
from urllib import urlopen 
import re  
 
ticks = ('000063.sz', '600001.ss', '010110.ss', '000005.sz', 
         '300003.SZ', '000100.sz', '600519.ss', '900950.SS') 
URL = 'http://quote.yahoo.com/d/quotes.csv?s=%s&f=sohgl1v' 
 
print 'Prices quoted as of:', ctime() 
print  u'\n代码'.rjust(1), u'开盘'.rjust(6), u'最高'.rjust(4), \ 
         u'最低'.rjust(4), u'现价'.rjust(4), u'总手'.rjust(7) 
u = urlopen(URL % ','.join(ticks))  
 
for row in u: 
    name, openp, high, low, close, volume = row.split(',') 
    print  (re.search('[0-9]{6}', name).group()).rjust(6), \ 
           (re.search('\d+\.\d{2}|N/A', openp).group()).rjust(6), \ 
           (re.search('\d+\.\d{2}|N/A', high).group()).rjust(6), \ 
           (re.search('\d+\.\d{2}|N/A', low).group()).rjust(6), \ 
           (re.search('\d+\.\d{2}|N/A', close).group()).rjust(6), \ 
           (re.search('[0-9]+|N/A', volume).group()).rjust(9) 
u.close()  

2)    COM编程
安装pywin32(pywin32-216.win32-py2.7.exe)
下载http://sourceforge.net/projects/pywin32/files/pywin32/

#!/usr/bin/env python  
 
from Tkinter import Tk 
from time import sleep 
from tkMessageBox import showwarning 
import win32com.client as win32  
 
warn = lambda app: showwarning(app, 'Exit?') 
RANGE = range(3, 8)  
 
def word(): 
    app = 'Word' 
    word = win32.gencache.EnsureDispatch('%s.Application' % app) 
    doc = word.Documents.Add() 
    word.Visible = True 
    sleep(1)  
 
    rng = doc.Range(0,0) 
    rng.InsertAfter('Python-to-%s Test\r\n\r\n' % app) 
    sleep(1) 
    for i in RANGE: 
        rng.InsertAfter('Line %d\r\n' % i) 
        sleep(1) 
    rng.InsertAfter("\r\nTh-th-th-that's all folks!\r\n")  
 
    warn(app) 
    doc.Close(False) 
    word.Application.Quit()  
 
if __name__=='__main__': 
    Tk().withdraw() 
    word()
#!/usr/bin/env python (estock.pyw)  
 
from Tkinter import Tk 
from time import sleep, ctime 
from tkMessageBox import showwarning 
from urllib import urlopen 
import win32com.client as win32  
 
warn = lambda app: showwarning(app, 'Exit?') 
RANGE = range(3, 8) 
TICKS = ('YHOO', 'GOOG', 'EBAY', 'AMZN') 
COLS = ('TICKER', 'PRICE', 'CHG', '%AGE') 
URL = 'http://quote.yahoo.com/d/quotes.csv?s=%s&f=sl1c1p2' 
 
def excel(): 
    app = 'Excel' 
    xl = win32.gencache.EnsureDispatch('%s.Application' % app) 
    ss = xl.Workbooks.Add() 
    sh = ss.ActiveSheet 
    xl.Visible = True 
    sleep(1)  
 
    sh.Cells(1, 1).Value = 'Python-to-%s Stock Quote Demo' % app 
    sleep(1) 
    sh.Cells(3, 1).Value = 'Prices quoted as of: %s' % ctime() 
    sleep(1) 
    for i in range(4): 
        sh.Cells(5, i+1).Value = COLS[i] 
    sleep(1) 
    sh.Range(sh.Cells(5, 1), sh.Cells(5, 4)).Font.Bold = True 
    sleep(1) 
    row = 6  
 
    u = urlopen(URL % ','.join(TICKS)) 
    for data in u: 
        tick, price, chg, per = data.split(',') 
        sh.Cells(row, 1).Value = eval(tick) 
        sh.Cells(row, 2).Value = '%.2f' % round(float(price), 2) 
        sh.Cells(row, 3).Value = chg 
        sh.Cells(row, 4).Value = eval(per.rstrip()) 
        row += 1 
        sleep(1) 
    u.close()  
 
    warn(app) 
    ss.Close(False) 
    xl.Application.Quit()  
 
if __name__=='__main__': 
    Tk().withdraw() 
    excel() 
#!/usr/bin/env python 
 
from Tkinter import Tk 
from time import sleep 
from tkMessageBox import showwarning 
import win32com.client as win32 
 
warn = lambda app: showwarning(app, 'Exit?') 
RANGE = range(3, 8) 
 
def ppoint(): 
    app = 'PowerPoint' 
    ppoint = win32.gencache.EnsureDispatch('%s.Application' % app) 
    pres = ppoint.Presentations.Add() 
    ppoint.Visible = True 
 
    s1 = pres.Slides.Add(1, win32.constants.ppLayoutText) 
    sleep(1) 
    s1a = s1.Shapes[0].TextFrame.TextRange 
    s1a.Text = 'Python-to-%s Demo' % app 
    sleep(1) 
    s1b = s1.Shapes[1].TextFrame.TextRange 
    for i in RANGE: 
        s1b.InsertAfter("Line %d\r\n" % i) 
        sleep(1) 
    s1b.InsertAfter("\r\nTh-th-th-that's all folks!") 
 
    warn(app) 
    pres.Close() 
    ppoint.Quit() 
 
if __name__=='__main__': 
    Tk().withdraw() 
    ppoint() 
#!/usr/bin/env python 
 
from Tkinter import Tk 
#from time import sleep    # SUPERFLUOUS 
from tkMessageBox import showwarning 
import win32com.client as win32 
 
warn = lambda app: showwarning(app, 'Exit?') 
RANGE = range(3, 8) 
 
def outlook(): 
    app = 'Outlook' 
    olook = win32.gencache.EnsureDispatch('%s.Application' % app) 
 
    mail = olook.CreateItem(win32.constants.olMailItem) 
    recip = mail.Recipients.Add('hello@msn.com') 
    subj = mail.Subject = 'Python-to-%s Demo' % app 
    body = ["Line %d" % i for i in RANGE] 
    body.insert(0, '%s\r\n' % subj) 
    body.append("\r\nTh-th-th-that's all folks!") 
    mail.Body = '\r\n'.join(body) 
    mail.Send() 
 
    ns = olook.GetNamespace("MAPI") 
    obox = ns.GetDefaultFolder(win32.constants.olFolderOutbox) 
    obox.Display() 
    obox.Items.Item(1).Display() 
 
    warn(app) 
    olook.Quit() 
olook = outlook 
 
if __name__=='__main__': 
    Tk().withdraw() 
    outlook() 
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
30天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
人工智能 安全 Java
Java和Python在企业中的应用情况
Java和Python在企业中的应用情况
62 7
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
68 3
|
2月前
|
机器学习/深度学习 算法 数据挖掘
线性回归模型的原理、实现及应用,特别是在 Python 中的实践
本文深入探讨了线性回归模型的原理、实现及应用,特别是在 Python 中的实践。线性回归假设因变量与自变量间存在线性关系,通过建立线性方程预测未知数据。文章介绍了模型的基本原理、实现步骤、Python 常用库(如 Scikit-learn 和 Statsmodels)、参数解释、优缺点及扩展应用,强调了其在数据分析中的重要性和局限性。
67 3
|
8天前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
52 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
21天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
21天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
67 7
|
21天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
47 4
|
21天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
43 5
|
2月前
|
存储 前端开发 API
Python在移动应用开发中的应用日益广泛
Python在移动应用开发中的应用日益广泛
57 10