Python Reportlab多行

Python Reportlab多行,python,pdf,subprocess,reportlab,Python,Pdf,Subprocess,Reportlab,我正在尝试将我的磁盘状态写入pdf。问题是它无法写出多行:每个字母的文本都是垂直的 import subprocess from reportlab.pdfgen import canvas p = subprocess.Popen('df -h', stdout=subprocess.PIPE, shell=True) (disk, err) = p.communicate() print disk def hello(disk): height= 700

我正在尝试将我的磁盘状态写入pdf。问题是它无法写出多行:每个字母的文本都是垂直的

import subprocess
from reportlab.pdfgen import canvas

p = subprocess.Popen('df -h', stdout=subprocess.PIPE, shell=True)
(disk, err) = p.communicate()
print disk

def hello(disk):
            height= 700
            c = canvas.Canvas("diskreport.pdf")
            c.drawString(200,800,"Diskreport")
            for line in disk:
                    c.drawString(100,height,line.strip()) 
                    height = height - 25
            c.showPage()
            c.save()
hello(disk)

您不是在数据中的行上循环,而是在字符上循环。例:

因此,在代码中,您将
.split('\n')添加到
for`-循环中,以生成以下内容:

for line in disk.split('\n'):
for line in disk.split('\n'):