python
Ai君臣
通俗说技术AI,一针见血。AI改变世界!立志做一款让人偷懒依赖的个人定制的管家。可信可赖可知心。有志之士互勉!wx公号一休哥
展开
-
pycharm 遇到安装不了新的python环境 (repodata.json): failed
1、现象创建不了新版本的python环境报错:Collecting package metadata (repodata.json): failed2、分析怀疑是源的问题3、过程实验1 在manage Repositoris (不知道的自己搜一下)清华源:https://pypi.tuna.tsinghua.edu.cn/simple豆瓣源:https://pypi.douban.com/simple还是报错4、解决加入清华的这个源http:/.原创 2021-12-03 19:52:20 · 309 阅读 · 0 评论 -
pip freeze获得的requirements.txt 出现了@这样的
pip list --format=freeze > requirements.txt解决方法 如上原创 2021-11-12 19:18:42 · 1263 阅读 · 1 评论 -
快速使用thrift
1、Thrift介绍Thrift 是一种接口描述语言和二进制通信协议。以前也没接触过,最近有个项目需要建立自动化测试,这个项目之间的微服务都是通过 Thrift 进行通信的,然后写自动化脚本之前研究了一下。 需要定义一个xxx.thrift的文件, 来生成各种语言的代码,生成之后我们的服务提供者和消费者,都需要把代码引入,服务端把代码实现,消费者直接使用API的存根,直接调用。 和 http 相比,同属于应用层,走 tcp 协议。Thrift 优势在于发送同样的数据,request包 和 re原创 2021-11-03 20:21:51 · 143 阅读 · 0 评论 -
nohup 后台运行python程序日志不保存在nohup.out
在Linux中,可以使用nohup将脚本放置后台运行,如下:nohup python myscript.py params1 > myscript.log 2>&1 & 但直接使用上面代码,无法在程序运行过程中查看Python中的print("test")输出结果,比如在每次循环中使用print语句等。原因是python的输出有缓冲,导致myscript.log不能够马上看到输出。解决方法:使用-u参数,使得python不启用缓冲。修改命令如下:nohu.原创 2020-12-19 13:38:26 · 1696 阅读 · 2 评论 -
正则判断一句话没包含一个汉字
import retext = "hello world 你好"pattern = "^.*[\\u4e00-\\u9fa5].*$"if re.match(pattern, text): print(text)else: print("****英文")原创 2020-11-19 22:32:38 · 385 阅读 · 0 评论 -
遍历dict
这样默认是遍历dict 的key,尤其for key in dict:是遍历他的键值d = {"a":1,"b":2,"c":3}for j in d: print(j)d = {"a":1,"b":2,"c":3}for j in d.keys(): print(j)原创 2020-11-12 22:05:40 · 111 阅读 · 0 评论 -
Jupyter notebook指定IP和端口运行
jupyter notebook --no-browser --port 6000 --ip=192.168.1.100原创 2020-09-25 11:05:15 · 4740 阅读 · 0 评论 -
python 引入上级目录下的模块
server--src(文件夹)---------utils(文件夹)------------------common.pyapp.py--Tools(文件夹)-----oss_manager.py目录结构如上:server 文件夹下有 src(文件夹),app.py,Tools(文件夹)Tools文件夹下有oss_manager.py1 问题:common.py中要引入oss_manager.py中的方法2、解决方法 因为需要运行app.py,在...原创 2020-09-22 17:53:06 · 1770 阅读 · 0 评论 -
Flask 1.1.2 版本使用时TypeError: Object of type int32 is not JSON serializable
一、背景 label,score=model.predict(text) # 例如label =1,score =0.9jsonify({"label":label,"score":score})1、报错TypeError: Object of type int32 is not JSON serializable2、原因:score的数据类型是numpy.float32,所以应将numpy.float32转换成python内置的数据类型float以下是实验代码i...原创 2020-08-28 18:49:34 · 513 阅读 · 0 评论 -
用numpy操作矩阵,上三角,下三角矩阵,对角化矩阵
numpy 操作矩阵的意义1.可以理解矩阵运算,多维运算2.可以用于理解tensorflow,pytorch的tensor张量运算,二维张量就是矩阵例如新建一个矩阵a = np.arange(1,10).reshape(3,-1)上下三角矩阵a = np.arange(1,10).reshape(3,-1)np.triu(a,1)# 或者a = np.arange(1,10).reshape(3,-1)# print(a)row,column = a.shape.原创 2020-08-25 14:55:15 · 5757 阅读 · 0 评论 -
if ‘1’ ==int(‘1‘) 始终是true,类型不同的bug,注意python中的数据类型
if ‘1’ ==int('1') 始终是true,类型不同的bug,注意python中的数据类型# 文本文档# 1 你好呀# 1 你很好呀# 1 你可以呀# 2 你是谁# 2 你是哪位#需要把每一类的第一个句子取出来作为一个文档,其余句子取出来作为一个文档f = open('my_copurs.txt','r',encoding='utf-8')label = 0std_question = ''train_question =''for i,line in en..原创 2020-08-17 15:28:43 · 198 阅读 · 0 评论 -
Pycharm 开发之前先设置吧 免得 远程开发之部署文件,带上了尾巴^M,
背景:Pycharm是python开发利器,然后部署到liunx中,发现每一行都带上小尾巴^M原因是window回车编码的不同。解决pyCharm中设置File->setting->Editer->CodeStyle设置line sperater for new line 设置成Unix/Os x开发之前先设置吧!...原创 2020-08-05 14:41:20 · 275 阅读 · 0 评论 -
python 字符串中插入,删除指定字符
本文要说的在字符串中插入删除字符串字符串中删除指定字符串,比如在删除"电话"ss = '我的电话是18827038663,也是微信号,\n 请加入,谢谢\n\n\n'res = ss.replace('电话', '')print(res)字符串中指定位置插入指定字符串,比如在某一段字符"姓名"后插入某一个人的名字a = '姓名:碎念'b = '狗蛋'str_list = list(a)str_list.insert(4, b)print(''.join(str_list.原创 2020-08-04 17:46:30 · 1306 阅读 · 0 评论 -
解决 ValueError: too many values to unpack (expected 2)
我们只能按大脑习惯的学习知识,不可违背大脑的习惯学习,不然只会事倍功半,甚至于学过就忘。解决 ValueError: too many values to unpack (expected 2)例如a,b=(1,2,3)会报错ValueError: too many values to unpack (expected 2)尤其是想函数返回多个值的时候,还有就是装饰器装饰不同的函数时候,那么怎么解决呢?简单。1.修改返回的格式a,b = ((1,2),3)2.返回原创 2020-08-03 11:25:38 · 106979 阅读 · 3 评论 -
有一种常见的需求,叫你的方法运行了多少时间,用一个装饰器解决它
# 两种用于类中函数,计时装饰器,第二种有selfdef timer(func): def wrapper(*args,**kwargs): start = time.time() res = func(*args,**kwargs) print('耗时{:.3f}秒'.format(time.time()-start)) used_time = '耗时{:.3f}秒'.format(time.time()-start) .原创 2020-07-10 18:31:16 · 123 阅读 · 0 评论 -
非常方便的Python3.6格式化字符串f-string
f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化举例:name = 'Eric's = f'Hello, my name is {name}'number = 9s = f"my luck number is {number}"print(s)from datetime import datetimee = datetime.now()s=f'the time is {e:%F %X}'p原创 2020-06-29 15:24:10 · 317 阅读 · 0 评论 -
python对象调用函数和函数调用对象的区别,sort举例
类函数和通用函数区别a=[2,4,1,3]sorted(a)print(a)""" 输出[2,4,1,3]"""a=[2,4,1,3]a.sort()print(a)"""输出[1, 2, 3, 4]"""原创 2020-05-29 20:40:34 · 320 阅读 · 0 评论 -
优秀包和模块的组织方式总结
一、背景包就是一个文件夹,下有__init__.py文件模块就是一个py文件二、几个总结要点1.package文件夹的__init__.py里.modulA import A(A是modulA里的类).modulB import B这样在外面 用from package import A了其次在__init__.py定义对象cfrom package import c2.package需要测试吧,在package下见一个文件夹test需要在t...原创 2020-05-29 20:33:16 · 216 阅读 · 0 评论 -
python装饰器,懂了这篇够用
1.装饰器本质是一个函数,该函数的参数是另一个函数。目的增加函数的功能。2.@语法只是将函数传入装饰器函数,并无神奇之处。一、带参数的装饰器(函数)特点两层函数import functoolsdef log(func): #第一层 @functools.wraps(func) #为了解决被装饰函数的名称变化的问题 def wrapper(*args, **kwargs): #第一层原创 2020-05-29 20:18:11 · 199 阅读 · 0 评论 -
NLP分词和在线分词大总结
一、在线分词1、哈工大主干分析,有词性标记https://ltp.ai/demo.html2、百度在线词法分析,也就包含分词https://ai.baidu.com/tech/nlp_basic/lexical原创 2020-05-25 18:24:08 · 1768 阅读 · 0 评论 -
调试python代码神奇ipdb
1、背景一个大的开源工程要看懂代码怎么办?调试吧。自己写了一个package要调试吧,怎么吧下载了一个开源包源码怎么学习代码?一句话:调试代码2、神器与安装pip install ipdb #安装 pip show ipdb # 安装是否成功3、使用一 代码里加代码,绝壁不用这笨办法二、直接 运行 python -m ipdb demo.py # demo.py就是你要调试的入口文件ll -----看代码b 10 ----在10行断点.原创 2020-05-22 20:34:03 · 429 阅读 · 0 评论 -
gensim 训练Word2vec终极使用
首先要分词成词组成的句子。1、训练 模型代码 :word2vec.Word2Vec(sens_list, min_count=5, iter=20, sg=1,workers=int(mp.cpu_count()*0.7))也可以是from gensim.models import Word2Vecsentences = [["cat", "say", "meow"], ["dog", "say", "woof"]]model = Word2Vec(min_count=1)mode原创 2020-05-22 19:56:25 · 2162 阅读 · 1 评论 -
怎么增加第三方库的方法,实现自己的需要呢,比如修复内存泄漏。
思路通过动态增加类的方法去实现自己的功能。首先:动态增加类方法。class MyObj(object): def __init__(self, val): self.val = valdef new_method(self, value): return self.val + valueobj = MyObj(3)obj.method = new...原创 2020-04-28 18:22:36 · 133 阅读 · 0 评论 -
numpy. ndarray 与 list 互转方法
ndarray.tolist()转换为 listarray(list)转换为ndarraya = ['qa_id:1', 'qa_id:2',3,4,5]import numpy as npres = np.array(a)type(res)type(res.tolist()),res.tolist()[i for i in res.tolist() if 'qa_id:' in...原创 2020-04-21 18:23:30 · 2865 阅读 · 0 评论 -
小技巧 kreas pad_sequences 和 pandas 重命名某列
pad_sequences,对上面生成的不定长序列进行补全。可以手动设定每个句子的最大长度参数,大于这个长度截断,小于这个长度填充。注意:默认补全和截断都是在句子前面进行填充和截断。这里是用0进行填充,也就是空格,这也是为什么上面序列index起始是1的原因。pandas 重命名某列df1.rename(columns={'c':'D'},inplace=True)对于官方的解释...原创 2020-04-17 18:32:10 · 196 阅读 · 0 评论 -
把一个变量字符串化,用来保存该对象的名字
思路: 1.字典化 2.提取key名list(dict(tokenizer=tokenizer).keys())[0]思路2:但是如果是形参就不一样了import inspectdef retrieve_name(var): """ Gets the name of var. Does it from the out most frame ...原创 2020-04-15 16:40:36 · 395 阅读 · 0 评论 -
pickle.load文件时候EOFError: Ran out of input
原因:load的文件为空,就会出现这种错误。解决方案:1.如果是读取单个文件的话,查看文件是否为空。有可能之前不是空文件,但由于用pickle.load文件时需要打开文件操作,可能在这个过程中把文件内容清空了也未可知。import pickleimport osfile_name = 'tokenizer.pkl'if os.path.getsize(file_name):...原创 2020-04-15 10:42:16 · 3183 阅读 · 3 评论 -
python 不以科学计数法输出
当显示出现e-10等显示,比较容易看乱取消科学计数法import numpy as npnp.set_printoptions(suppress=True)print 就不会用科学计数法表示了原创 2020-04-10 18:20:46 · 10775 阅读 · 6 评论 -
重复数字的排序
问题 例如 a = [1,7,7,4,4,5,6]经过排序后是a=[1,7,4,5,6,7,4]也就是说重复的元素在队列后面插入,不改变原理的顺序。最直观的思路就是用一个列表记录元素,如果有重复用另一个列表保存。def get_reset_index(arr): no_repeat_list = [] index_list_1 = [] index_list_...原创 2020-04-07 18:33:10 · 1066 阅读 · 0 评论 -
DataFrame如何按指定list排序
https://www.jianshu.com/p/2d3dd3e30d51最重要是 一个类型为个问题解决的核心是引入pandas的数据类型“category”,这个数据类型可以按照自己需要排序。原创 2020-04-03 18:35:22 · 1271 阅读 · 0 评论 -
常见的读写文件错误,判断文件是否存在(python)
常见的读写文件错误,判断文件是否存在(python)python判断文件是否存在的三种方法1.使用os模块os.path.isfile 方法 和os.path.exits方法2.使用Try语句try catch语句来报错3. 使用pathlib模块检查路径是否存在 如下path = pathlib.Path("path/file")path.exist(...原创 2020-04-03 11:29:43 · 824 阅读 · 0 评论 -
TfidfVectorizer和TfidfTransformer
vectorizer=CountVectorizer()transformer=TfidfTransformer()tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))等价于:transformer=TfidfVectorizer()tfidf2=transformer.fit_transform(corpus...原创 2020-03-24 08:41:03 · 4240 阅读 · 0 评论 -
python中文显示不出来了,粗暴方法
1.decode('unicode_escape') 2.decode('utf-8)具体细节可以查查编码,简单来说就是从ASii 到utf-8,再unicode编码,utf-8和unicode都能编码汉字。原创 2020-03-24 08:37:01 · 1170 阅读 · 0 评论 -
删除句子开头的匹配的子字符串
1、Strip()方法用于删除开始或结尾的字符。lstrip()|rstirp()分别从左右执行删除操作。默认情况下会删除空白或者换行符,也可以指定其他字符。例如:s= '主题 今天的主题是旅游'只要删除句子开头的匹配的子字符串。s.lstrip('主题')即可。如果用s.replace('主题','')那么最终的句子是 今天的是旅游,那么不是通顺的句子了。...原创 2020-03-11 09:35:51 · 194 阅读 · 0 评论 -
dir()和__dict__区别
1、都可以获取属性,dir返回list包含继承来的属性,__dict__自己的属性。2、并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来列出对象的所有属性。说多了例子反而不容易懂,知道了这两点实践去吧!...原创 2020-03-05 17:44:49 · 349 阅读 · 0 评论 -
全局变量和局部变量作用域,一行代码让python结果完全不同
全局变量和局部变量作用域,一行代码让python结果完全不同。这段代码会报错吗?A代码段:var = 1def fun(): print(var) var = 200fun()会报错!修改如下会报错吗?B代码段:var = 1def fun(): print(var)fun()不会报错!原因:A代码段解释器探测到fun函数内部v...原创 2020-03-04 09:23:11 · 340 阅读 · 0 评论 -
准确的句子相似度系数Jaccard系数(含python代码)
1、jaccard系数的定义就两个句子的交集除以句子的并集,网上基本有两种实现,但是其实一种不太准确的。第一种:利用了sklearn的CounterVectorizer类和numpy。def add_space(s): if isinstance(s,float): s=str(s)# pass # do something sensi...原创 2019-10-17 08:47:08 · 4553 阅读 · 0 评论 -
基于GRU和am-softmax的句子相似度模型需要的数据集
解决句子相似度训练模型需要数据集要解决的是生成如下格式的相似句子问题。为了复现该大神https://kexue.fm/archives/5743的所需要的数据集。0 为什么借款后一直没有给我回拨电话0 怎么申请借款后没有打电话过来呢!0 借款后为什么迟迟没来电话确认1 微粒咨询电话号码多少1 你们的人工客服电话是多少1 人工电话多少呢1 你們的客服電話號碼是多少1 客服電...原创 2019-08-09 18:34:03 · 631 阅读 · 1 评论