PHP前端开发

python基础教程项目二之画幅好画

百变鹏仔 2小时前 #Python
文章标签 画幅

这篇文章主要为大家详细介绍了python基础教程项目二之画幅好画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

这是《python基础教程》中的第二个项目,关于python操作PDF。

涉及到的知识点

1、urllib的使用

2、reportlab库的使用

立即学习“Python免费学习笔记(深入)”;

这个例子着实很简单,不过我发现在python里面可以直接在数组[]里面写for循环,真是越用越方便。

下面是代码:

from urllib import urlopenfrom reportlab.graphics.shapes import *from reportlab.graphics.charts.lineplots import LinePlotfrom reportlab.graphics.charts.textlabels import Labelfrom reportlab.graphics import renderPDFURL = 'http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt'COMMENT_CHARS = '#:'drawing = Drawing(400, 200)data = []for line in urlopen(URL).readlines(): if not line.isspace() and not line[0] in COMMENT_CHARS:  data.append([float(n) for n in line.split()])pred = [row[2] for row in data]high = [row[3] for row in data]low = [row[4] for row in data]times = [row[0] + row[1]/12.0 for row in data]lp = LinePlot()lp.x = 50lp.y = 50lp.height = 125lp.width = 300lp.data = [zip(times, pred),zip(times,high),zip(times, low)]lp.lines[0].strokeColor = colors.bluelp.lines[1].strokeColor = colors.redlp.lines[2].strokeColor = colors.greendrawing.add(lp)drawing.add(String(250,150, 'Sunspots',fontSize=14,fillColor=colors.red))renderPDF.drawToFile(drawing, 'report3.pdf','Sunspots')