Python
GeneralJing
这个作者很懒,什么都没留下…
展开
-
Python 计算欧氏距离
mport math len = math.hypot(x1-x2, y1-y2) #(x1, y1)与(x2, y2)间的欧氏距离原创 2021-05-31 18:21:54 · 918 阅读 · 0 评论 -
request.post()
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json。常见的form表单可以直接使用data参数进行报文提交,而data的对象则是python中的字典类型;而在最新爬虫的过程中遇到了一种payload报文,是一种json格式的报文,因此传入的报文对象也应该是格式的;这里有两种方法进行报文提交...转载 2021-05-31 06:49:56 · 6056 阅读 · 0 评论 -
Python中json格式的数据与dict格式的数据相互转化方式
import json<json> = json.dumps(<dict>)<dict> = json.loads(<json>)转载 2021-05-31 06:46:57 · 586 阅读 · 0 评论 -
统计图像mask占比
##统计占比output[output<128]=0output[output>=128]=1area_ratio = np.sum(output)/(im_h*im_w)原创 2021-05-28 10:35:21 · 480 阅读 · 0 评论 -
Python OpenCV获取图像矩阵mask对应的矩形区域
最近在项目中需要对分割模型得到的mask区域进行矩形裁切,就是截取包含mask的矩形区域。中间需要获取最左最右的x,最上最下的y,然后根据这个进行裁切。index = np.nonzero(output)if len(index[0])!=0 and len(index[1])!=0: minx = np.min(index[1]) maxx = np.max(index[1]) miny = np.min(index[0]) maxy = np.max(index[原创 2021-05-28 10:21:49 · 2130 阅读 · 2 评论 -
将字典结构数据写入json文件
import jsondata ={ 'name': liangliang, 'age': 30, 'gender': male, 'address:', beijing}json_str = json.dumps(data, ensure_ascii=False, indent=4) #字符缩进4json_path = './xxx.json'with open(json_path, 'w') as json_file: json_file.write(json_str)..原创 2021-04-28 06:46:48 · 684 阅读 · 0 评论 -
python3 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in ordinal not in range(128)
1.设置环境变量在linux或Mac上设置环境变量,编辑~/.bash_profile文件(’~’指的是用户登录后的默认目录),添加一行:export LANG="en_US.UTF-8"然后执行source .bash_profile,让上面的设置生效。2.使用PYTHONIOENCODING在运行python命令前添加参数 PYTHONIOENCODING=utf-8 python xxx_xxx.py...原创 2021-04-19 16:26:52 · 271 阅读 · 0 评论 -
UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position xxx: ordinal not in range(128)
在Python3环境中执行代码的时候,遇到如下错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 412-413: ordinal not in range(128)前段时间解决过这个问题,忘了怎么解决了,下面记录下,在虚拟环境终端执行如下命令即可:export PYTHONIOENCODING=utf-8...原创 2021-03-17 16:33:47 · 504 阅读 · 0 评论 -
python使用中跳出双层for循环
在二维数组的遍历中,经常使用双层for循环。但是在某些时候,并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是,直接在内层循环中break并不会让外层循环也终止。可以使用for...else...解决。for i in range(5): for j in range(5): print(i, j) if i == 3 and j == 3: break else: continue break当内循环正常结束的时候才会执行else原创 2021-02-24 16:27:18 · 1649 阅读 · 0 评论 -
nohup linux 后台运行输出到日志文件
今天再docker内启动程序的时候,打算将屏幕输出等重定向到日志文件中,但是启动程序后,通过tail -f命令查看日志文件,发现日志文件没有及时更新。试了几次都一样,但是之前使用这个命令的时候,都是可以看到日志文件动态变化更新的。后来查了一下,是Python的输出缓冲导致更新不及时。-u 参数,使得python不启用缓冲。nohup python -u xxx.py > xxx.log 2>&1 &这样就可以看到日志文件及时更新了。...原创 2020-12-30 14:47:47 · 1606 阅读 · 0 评论 -
python 全局变量的使用
最近在改写同事训练代码的不支持算子,结果在在改写的过程中发现,训练跟测试流程中不支持的算子竟然输入输出尺寸是不同的,所以开始针对测试改写的代码,训练的时候报错,修改为训练支持的算子后,跑完一个epoch训练数据的时候,验证测试会报错。定位了很久才发现这个问题。所以需要针对不同的阶段使用不同的算子。所以需要在forward阶段,添加不同的分支标志及处理流程。Python中global关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量,在另外一个py文件 再次使用global原创 2020-12-01 17:50:20 · 1014 阅读 · 0 评论 -
yaml文件读取及使用
安装:pip install pyyaml原创 2020-09-26 16:57:20 · 3070 阅读 · 0 评论 -
flask部署服务中添加log日志
首先引入需要的包:from flask import current_app然后在需要添加日志的地方添加如下语句:current_app.logger.info('detection cost {:.3f} s'.format(time.time() - t1))即可。原创 2020-09-19 07:37:06 · 877 阅读 · 0 评论 -
Python OpenCV编解码图像
cv2.imdecode()函数作用:从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像。cv2.imencode()函数作用:将图片格式转换(编码)成流数据,赋值到内存缓存中;主要用于图像数据格式的压缩,方便网络传输。imdecode()使用举例:# -*- coding: utf-8 -*- import numpy as np import urllib import cv2 url = 'https://www.原创 2020-09-18 21:54:16 · 1817 阅读 · 0 评论 -
flask部署服务传入图像及其解析方式
请求传参部分:flask部署服务传入图像及其解析方式api_url = 'http://0.0.0.0:5000/api'img_path = './10502.jpg'with open(img_path, 'rb') as f: image_base64 = base64.b64encode(f.read())# resp = requests.post(api_url, files={'image_file': open(img_path, 'rb')}) # image_原创 2020-09-18 21:33:32 · 441 阅读 · 0 评论 -
Python与C++动态库之间传递图像数据
1.首先搭建编译产生动态库的工程,利用clion,配置好cmakelist.txt,主要是包含OpenCV库及Python.h文件路径,如下:cmake_minimum_required(VERSION 3.10)project(cpplib)PROJECT(${PROJECT_NAME})set(CMAKE_CXX_STANDARD 11)add_library(cpplib SHARED library.cpp library.h)FIND_PACKAGE(OpenCV REQU原创 2020-09-12 16:20:24 · 1255 阅读 · 1 评论 -
Python变量定义
在Python中,每个变量在使用前都必须赋值,变量赋值以后才会被创建等号(=)用来给变量赋值=左边是一个变量名=右边是存储在变量中的值变量名=值在使用解释器比如pycharm,执行Python程序的时候,不能直接使用变量名在控制台输出变量的信息,在ipython交互式解释器中是可以的。...原创 2020-08-29 20:58:47 · 154 阅读 · 0 评论 -
Python程序执行原理
执行步骤大概如下:1.操作系统会让CPU把Python解释器的程序复制到内存中。2.Python解释器会根据语法规则,从上向下让CPU翻译Python中的代码。3.CPU负责执行翻译完的代码。Python解释器有多大?拷贝到内存中是否会对内存有较大影响?1.确认解释器所在位置which python2.查看python文件大小(只是一个软链接):建立软链接的目的是为了方便使用者不用记住使用的解释器是哪一个版本ls -lh /usr/bin/python3.查看具体文件大小ls原创 2020-08-29 20:30:48 · 153 阅读 · 0 评论 -
Python初学习-更改路径和syntaxerror invalid syntax问题
今天第一次学习Python,然后按照教程学习的过程中遇到了点问题,找了些资料搞定了,还是有点小满足的问题主要有两个,一个是我用的教程带的代码文件,但是代码文件不在Python默认的工作路径所以import文件的时候找不到,解决的方法是将当前路径加入到搜索路径之中,具体代码如下:import syssys.path.append('当前工作路径')但是这种添加是临时的添加,当下次重启的原创 2014-03-13 18:50:18 · 7107 阅读 · 0 评论