WEB开发网
开发学院软件开发Python Python 与 Gnumeric 共舞 阅读

Python 与 Gnumeric 共舞

 2008-09-30 13:08:46 来源:WEB开发网   
核心提示: 牛刀小试根据上面的分析,我们看到用Python编写Gnumeric函数,Python 与 Gnumeric 共舞(5),需要三个步骤:1. 创建Python函数源文件,如py_func.py,使Gnumeric能显示中文 (2) ,mark函数中的注释是提供给Gnumeric的函数信息,2

牛刀小试

根据上面的分析,我们看到用Python编写Gnumeric函数,需要三个步骤:

1. 创建Python函数源文件,如py_func.py。

2. 根据创建的函数构建函数原型字典,如test_functions。

3. 创建plugin.xml配置文件,配置文件名、函数分类、名字、原型字典等相关信息。

为了演示具体的Gnumeric中Python函数创建的过程,笔者编写了一个根据自动标记成绩等级的小函数,由plugin.xml和exam.py两个文件构成。

首先创建脚本文件exam.py,整个文件只有mark和cstr两个函数:mark函数的参数和返回值都是字符串,功能是根据其大小返回成绩的等级;cstr用来把字符串转换成utf-8编码,使Gnumeric能显示中文 (2) 。mark函数中的注释是提供给Gnumeric的函数信息,读者开发时只需要按着模板简单的修改就可以了。

代码 4 exam.py文件

# -*- coding: GB2312 -*-
def mark(score):
  '@FUNCTION=MARK_SCOREn'
  '@SYNTAX=mark_score(score)n'
  '@DESCRIPTION= determine the level for a scoren'
  '@EXAMPLES= To determine a score in A1: n'
  '  mark_score(a1)n'
  '@SEEALSO='
  level='N/A'
  if score < 0:
    level = cstr('非法分数')
  elif score < 60:
    level = cstr('未及格')
  elif score < 80:
    level = cstr('及格')
  elif score < 90:
    level = cstr('良')
  elif score <= 100:
    level = cstr('优秀')
  else:
    level = cstr('非法分数')
  return level
def cstr(str):
  """ translate a chinese string into utf-8 string for GTK+
  """
  return unicode(str,'gbk').encode('utf8')
exam_functions = {
  'mark_score' : ('f','score',mark)
}

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Python Gnumeric 共舞

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接