我是Python新手,继承了一个引用其他脚本和模块的脚本。当我从Windows命令提示符运行它时,遇到以下消息:
File
"<template>"
, line 37, in top-level template code
TypeError: float argument required, not str
我想解决这个问题,但是我不知道"<template>"
引用了哪个.py文件。你知道吗
主文件的代码如下:
from markdown import markdown
import flowerpoint
from re import sub
from HTMLParser import HTMLParser
from os.path import abspath
from os import getcwd
from time import sleep
import jinja2
from jinjaFunctions import jinjaFunctions
class FlowerParser:
template = None
outputFile = None
mdHtml = None
jinjaHtml = None
class FlowerHTMLParser(HTMLParser):
from flowertags import FlowerTags
curTextbox = None
slideInitialized = False
justAddedParagraph = True
curFont = flowerpoint.PPTextFormat()
tags = None
excelMode = False
excelWorkbooks = {}
def _getWorkbook(self, workbookName):
wkbk = self.excelWorkbooks.get(workbookName, None)
if wkbk:
return wkbk
else:
raise Exception("Workbook not found: %s" % workbookName)
def handle_starttag(self, tag, attrs):
self.tags.handleTag(tag, attrs, True)
def handle_endtag(self, tag):
self.tags.handleTag(tag, None, False)
def handle_data(self, data):
#self.addText(sub(" +"," ",sub("\n"," ",data)))
self.addText(sub(" +"," ",sub("\n|\r","",sub("\n(?!$)"," ",data))))
def addText(self, text, format=True, isSpace=False):
if len(text) == 0:
return
self.justAddedParagraph = isSpace
if self.slideInitialized and self.curTextbox is not None:
if format:
flowerpoint.addText(self.curTextbox, text, self.curFont)
else:
flowerpoint.addText(self.curTextbox, text, None)
def __init__(self):
HTMLParser.__init__(self)
self.tags = self.FlowerTags(self)
def __init__(self, inputFile, template, outputFile):
self.template = template
self.outputFile = outputFile
with open(inputFile,"r") as mdInputFile:
jinjaEnv = jinja2.Environment()
jinjaEnv.globals.update(zip=zip, int=int, float=float)
jinjaTemplate = jinjaEnv.from_string(mdInputFile.read())
jinjaTemplate = jinjaTemplate.render(**jinjaFunctions)
self.jinjaHtml = jinjaTemplate
print self.jinjaHtml
self.mdHtml = sub(">",">",sub("<","<", markdown(jinjaTemplate)))
print self.mdHtml
def run(self):
flowerpoint.loadFromTemplate(self.template, self.outputFile)
parser = self.FlowerHTMLParser()
parser.flowerpoint = flowerpoint
parser.feed(self.mdHtml)
flowerpoint.close()
结果,程序调用了一个降价文件。该降价文件的第37行是:
这需要一个float参数,但引用的单元格(位置16,13)为空,因此不是float。这就产生了错误。你知道吗
相关问题 更多 >
编程相关推荐