找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1800|回复: 0

[求助] 新人求助,装饰器内操作Excel的问题

3

主题

4

帖子

4

积分

贫民

积分
4
一粒沙比 发表于 2018-4-25 18:03:27 | 显示全部楼层 |阅读模式
本帖最后由 一粒沙比 于 2018-4-25 18:09 编辑
  1. # -*-coding:utf-8-*-

  2. import os
  3. from openpyxl import Workbook
  4. from openpyxl import load_workbook

  5. def loger(func):
  6.     pwd = os.getcwd()
  7.     file_path = pwd + '\\test.xlsx'

  8.     if os.path.exists(file_path):
  9.         outwb = load_workbook('test.xlsx')
  10.         a = outwb.active
  11.     else:
  12.         outwb = Workbook()
  13.         a = outwb.active

  14.     def c(*args, **kwargs):
  15.         rows = a.max_row
  16.         cols = a.max_column
  17.         arg = args[0] + 1
  18.         a['A' + str(rows + 1)] = '调用装饰器次数:{},rows:{}'.format(args[0], rows)
  19.         rows += 1
  20.         outwb.save('test.xlsx')
  21.         return func(arg)

  22.     return c

  23. @loger
  24. def a(x):

  25.     return x

  26. @loger
  27. def b(y):

  28.     return y

  29. print b(a(1))
复制代码
预期是想在Excel里保存两条记录,但是实际只有一条各位大神帮忙看看问题在哪里





第一次调用装饰器

第一次调用装饰器
QQ截图20180425180546.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表