python基础教程笔记-项目2-画幅好画-Day2

本项目剩下部分主要使用量urllib和LinePlot。

什么是urllib?

urllib模块提供的上层接口,使我们可以像读取本地文件一样读取www和ftp上的数据。

看代码:

import urllib
print urllib.urlopen('http://www.baidu.com').read()

执行效果:

重点需要注意的是urlopen函数:

关于urlopen的一些使用实例可参考链接:

http://blog.csdn.net/leer168/article/details/8643103

什么是LinePlot?

LinePlot是用于画折线图的类,其中x,y,height,width用于设置位置参数,data用于设置数据。

具体用法如下:

from reportlab.lib import colors
from reportlab.graphics.shapes import *
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics import renderPDF

drawing = Drawing(400, 200)

lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [((1,2),(3,4)), ((5,6),(7,8)),((9,10),(11,12))]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green

drawing.add(lp)

drawing.add(String(250, 150, 'Sunspots',
            fontSize=14, fillColor=colors.red))

renderPDF.drawToFile(drawing, 'report2.pdf', 'Sunspots')

项目2-画幅好画总结:

1.主要了解了ReportLab包,使用这个包几乎能像创建纯文本一样很容易的创建PDF格式的图形和文档(renderPDF.drawToFile),其中本项目中了解到的类有PolyLine,LinePlot等

2.明白了一种新的赋值方法:

l = [

(1,2),

(3,4),

(5,6),

(7,8)]

b = [r[1] for r in l]

print b

Result:[2,4,6,8]

3.初步了解了urllib,主要用于网络相关操作

时间: 2024-10-01 02:33:29

python基础教程笔记-项目2-画幅好画-Day2的相关文章

python基础教程笔记-项目2-画幅好画-Day1

今天开始看项目二:画幅好画 项目中会用到图形生成包ReportLab,因此首先装好这个包:easy_install reportlab 从书中可以了解到,这个包主要用于作图. 比如说写字.画线等.执行代码: from reportlab.lib import colors from reportlab.graphics.shapes import Drawing,String,PolyLine from reportlab.graphics import renderPDF d = Drawin

python基础教程笔记-项目1-即时标记-Day3

昨天实现了简单的txt转html,今天更深入一步. 主要了解下带星号的参数.getattr函数和callable函数 先看Handler类: class Handler: def callback(self, prefix, name, *args): method = getattr(self, prefix+name, None) if callable(method): return method(*args) def start(self, name): self.callback('s

python基础教程笔记-项目1-即时标记-Day2

昨天主要了解了下生成器,用文档测下lines: def lines(file): for line in file: yield line yield '\n' for i in lines(sys.stdin): if i: print i print '---' 测试文档test_input.txt: hello how are you how do you do fine 执行: 输出结果test_output.txt: hello --- --- how are you --- how

python基础教程笔记-项目1-即时标记-Day4

今天主要看下re.sub函数和Handler类的sub函数 先看下re.sub函数 re.sub共有5个参数,不过一般写前三个就好了,即pattern,repl和string pattern表示正则中的模式字符串,repl可以是字符串,也可以是函数.string为要进行替换的字符串 先看一段代码: import re def Num2A(match): return 'A' a = re.sub(r'(\d+)', Num2A, 'he123he') print a a = re.sub(r'(

python基础教程总结15——2 画幅好画

要求:从Internet上下载数据文件:  分析数据文件并提取感兴趣的部分 工具:图形生成包(ReportLab,PYX等) 数据:太阳黑子和射电辐射流量(http://services.swpc.noaa.gov/text/predicted-sunspot-radio-flux.txt) 1. 简单实现 1.1 用ReportLab画图 将字符串“Hello world”画在一个100*100像素的大小的PDF图形中间:创建一个给定大小的图纸(drawing):然后创建带有某些属性的图形元素

Python基础教程__项目(公告板)

由于最近学习Python,从最基础的Python基础教程学起,其中最后的十个项目还是很不错的.个人认为.本人新手,如有错误,还请指教. 书上用的是PostgreSQL,这里用的是MySQL.由于这是一个CGI项目.所以事先需要准备一个可以运行CGI脚本的试验环境. 本次用的是Apache运行cgi.配置网上很多. 其次需要创建一个数据表: CREATE TABLE `messages` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `subject` v

python基础教程笔记——画幅好画(详解)

今天写一下基础教程里面的第二个项目,主要使用python来做一个pdf的图,比较简单. 首先我们需要安装用到的模块pip install reportlab即可. 书上是用urlopen从往上下了一个txt文件,然后打开处理一下得到数据,因为我从这个url路径没有获取到数据,所以直接写了一点数据在程序里. urlopen比较简单,以后写爬虫也会经常用到,所以这里就不讲了,只单独讲讲reportlab模块. #encoding:utf8 from reportlab.graphics.shapes

python 基础教程 笔记 一

第一章 python 基础知识 1.1 数字和数学表达式 1.2 python 2.x 和python 3.x print的区别 1.3 python 2.x 和 python 3.x input 的区别 1.4 数学函数 1.5 input 和 raw_input 区别 第二章 列表和元组 第三章 使用字符串 1.1 数字和表达式 Python 默认的除法:整数/整数,无论是否整除都得到整数,不整除的截取小时部分 1 / 2 0 如果想要Python 执行普通的除法,可以之用浮点数来实现也可以

python基础教程笔记 第1单元 && 第2单元

1.http://docs.python.org/dev/3.0/whatsnew/3.0.htmlpython-announce-listpython-help2.交互式编译器3.非整数除法 .1.>>> from__future__import divisionSyntaxError: invalid syntax.2.Linux -Qnew4.整数除法 // 就算是浮点数也会执行整除取余 2.75%0.5幂运算符 ** (pow(base,times[mod]))幂运算符比取反等级