Python。将自定义方法添加到现有站点包
Python. Adding custom methods to existing site-packages
我正在使用带有 python 2.7 的 openpyxl 来操作一些工作簿。我已经为 class Worksheet 实现了我自己的方法,只是当我尝试访问它们时没有找到它们。我在 windows 上并将以下代码添加到 site-packages/openpyxl/worksheet/worksheet.py。源代码 here.
class Worksheet(_WorkbookChild):
"""
Library defined methods here.
"""
#My Method.
def hello_world(self):
print "Hello from worksheet."
当我打开一个工作簿并尝试调用我的函数时,它会引发 'no attribute' 的错误,即使它已在 class 工作表的范围内定义(正确?)。
import openpyxl
wb = openpyxl.load_workbook('helloworld.xlsx')
sheet = wb.get_active_sheet()
sheet.hello_world()
AttributeError: 'Worksheet' object has no attribute 'hello_world'
我需要做些什么来更新现有的库吗?我删除了 .pyc,重新编译后仍然出现同样的错误。
对于遇到此问题的任何其他人。当我使用常规制表符时,图书馆为每个缩进使用了 4 个空格。缩进的变化导致方法未定义,即使它看起来是。
我正在使用带有 python 2.7 的 openpyxl 来操作一些工作簿。我已经为 class Worksheet 实现了我自己的方法,只是当我尝试访问它们时没有找到它们。我在 windows 上并将以下代码添加到 site-packages/openpyxl/worksheet/worksheet.py。源代码 here.
class Worksheet(_WorkbookChild):
"""
Library defined methods here.
"""
#My Method.
def hello_world(self):
print "Hello from worksheet."
当我打开一个工作簿并尝试调用我的函数时,它会引发 'no attribute' 的错误,即使它已在 class 工作表的范围内定义(正确?)。
import openpyxl
wb = openpyxl.load_workbook('helloworld.xlsx')
sheet = wb.get_active_sheet()
sheet.hello_world()
AttributeError: 'Worksheet' object has no attribute 'hello_world'
我需要做些什么来更新现有的库吗?我删除了 .pyc,重新编译后仍然出现同样的错误。
对于遇到此问题的任何其他人。当我使用常规制表符时,图书馆为每个缩进使用了 4 个空格。缩进的变化导致方法未定义,即使它看起来是。