python - 类方法的 timeit.timeit() 出错
问题描述
下面是我的代码,我为该类定义了两个方法,我想查看这两个函数的执行时间以比较哪个函数更快,我想用 timeit.timeit() 来做。我像这样尝试过,我在设置中创建了类的实例,并在我调用方法的语句中。但我收到此错误:NameError: name 'txt_tokenize' is not defined
class txt_tokenize:
def txt_regex(self, filename):
import re
text = (open(filename).read()).lower()
text= re.sub(r'\s',r'\n',text)
text= re.sub(r'\n{2,}','\n', text)
text= re.sub(r'[^a-zA-Z\n]',"", text)
text= sorted(set(text.split("\n")))
text= " ".join(text).split()
return text
def txt_split_pd(self,filename):
import pandas as pd
text = (open(filename).read()).lower()
text= pd.Series(text.split())
text= text.str.replace(r'[^a-zA-Z\n]','',regex=True)
text=list(text.sort_values(axis=0, ascending=True).dropna().unique())
text= " ".join(text).split()
return text
Setup1='''reg= txt_tokenize()'''
Setup2=''''pd_txt= txt_tokenize()'''
Statement1='''reg.txt_regex("E:\Machine Learning\Dataset Mcbeth.txt")'''
Statement2= ''''pd_txt.txt_split_pd("E:\Machine Learning\Dataset Mcbeth.txt")'''
if __name__=="__main__":
import timeit
time1= timeit.timeit(stmt= Statement1, number= 10000, setup= Setup1)
time2= timeit.timeit(stmt= Statement2, number= 10000, setup= Setup2)
解决方案
推荐阅读
- snmp - snmpd.conf clientaddr 无法使用给定的 IP 源地址发送陷阱 /inform
- mysql - MySQL - 尝试按上传日期从数据库中订购请求的图像
- python - 如何按索引重命名 PySpark 数据框列?(处理重复的列名)
- wordpress - 如何通过您的 ID 将产品链接到特定客户?
- django - 如何在 django 中将数据添加到数据库中?
- regex - 在 Google Data Studio 中使用通配符求和?
- python - Python 中的 Pandas 箱线图
- java - Windows 上 JavaFX 应用程序的自包含应用程序打包:InnoSetup 或 javafxpackager?
- python - Keras LSTM 形状不包含序列长度
- node.js - 使用 enctype="multipart/form-data" 以 csrf 错误结束