python
夕阳与影
菜鸟一枚,写博客纯粹是为了加强记忆,也当作是另一种形式的笔记,如有错误或不妥之处请多多指教。
展开
-
python logging模块常用方法
当需要大量打印日志或者保存日志的时候,print就略显臃肿,所以在python中经常使用logging模块来记录我们想要的日志信息。logging模块日志级别critical>error>warning>info>debug我们可以通过setLevel函数来设置输出日志的最低级别,过滤部分不需要的信息,如下所示设置最低级别为debug,所以所有日志都会输出。默认生成的root logger的最低级别是logging.WARNING,不输出info和debug级别日志。log原创 2020-11-03 11:17:38 · 539 阅读 · 0 评论 -
python函数参数的传递机制
不可变对象的传递机制在Python中,不可变对象是以值传递的方式传递的。即将实参的拷贝传入函数,传入参数与实参是不同的变量(常量)。我们在函数中怎么操作参数都对函数外的实参没有影响。def swap(a, b): a, b = b, a print("a, b in swap function", a, b) returnif __name__=='__main__': a, b = 1, 2 swap(a, b) print(a, b)# a, b in swap function原创 2020-10-19 16:28:51 · 403 阅读 · 0 评论 -
Canny算法实现车道线检测
算法基于Python3.6实现Python库opencv-pythonmatplotlibnumpy此篇仅实现图片车道线检测,下图是测试结果。详细流程输入图片并将其转换为灰度图通过高斯滤波平滑图片去噪使用Canny算法检测边缘提取感兴趣候选区域霍夫变换,直线检测直线拟合得到车道线图像处理Candy算法介绍:https://blog.csdn.net/sc944...原创 2020-03-15 09:24:18 · 2153 阅读 · 0 评论 -
python3 IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`)
出现这个错误是因为需要整形(int)而没有输入整形数。可以尝试加强制类型转换,即int(a) # a为输入常见错误li = [1, 2, 3, 4, 5]a = 10.0b = 5# li[a // b] = 9 # 错误用法,会报错# 因为当a或b有一个为float时,整除算法得到的结果也为floattype(a // b) # <class 'float'>li...原创 2019-12-18 21:34:21 · 10273 阅读 · 0 评论 -
voc格式数据集转coco格式
voc格式和coco格式在目标检测领域是用的比较多的。所以记录一下我将voc格式的数据集转coco格式的过程。分离训练集和测试集由于voc格式的数据集中,训练集和测试集的注释文件放在一个文件夹下,所以我需要先将其分离。# Written by GX# if you want to use it to copy some file from one directory to the othe...原创 2019-11-04 21:15:12 · 1500 阅读 · 3 评论 -
Python str.split()细节小记
str.split()是Python中用来分割字符串的函数。其函数原型如下:str.split(str="", num=string.count(str)).其中,str是分割符,num是分割次数(默认-1)。其分割符默认为空格是很多教程上的说法,但其实不完全准确。s = ' 's.split() # 默认分割符s.split(' ') # 空格为分割符按默认分割符为空格的说...原创 2019-09-21 10:05:47 · 519 阅读 · 0 评论 -
numpy库:numpy.asarray()与numpy.array()区别小记
numpy.asarray(a, dtype=None, order=None)'''a : 输入,任何可以转换成array形式的数据,如列表,元组等dtype : 输出数据类型,默认继承输入数据类型(可选参数)order : {'C', 'F'},使用行主('C')或列主('F')内存表示形式,默认为'C'。(可选参数)return : ndarraynumpy.array()的详...原创 2019-06-28 15:41:17 · 2287 阅读 · 0 评论 -
LeetCode329 矩阵中的最长递增路径
题目描述:给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums =[[9,9,4],[6,6,8],[2,1,1]]输出: 4解释: 最长递增路径为 [1, 2, 6, 9]。示例 2:输入: nums =[[3,4,5],[3,2,6],...原创 2019-05-22 20:21:31 · 214 阅读 · 0 评论 -
自定义Python排序函数比较方式
当你想按自己的方式对数组元素进行排序时,我们需要自定义比较函数实现我们想实现的排序方式。例1以降序对数组进行排序>>> def comp(x,y):... return y-x... >>> a = [1,8,4,5,2,7]>>> a.sort(comp)>>> a[8, 7, 5, 4, 2, 1...原创 2019-04-04 22:18:12 · 2719 阅读 · 0 评论 -
Python创建二维列表方法及其区别
今天写代码发现我的代码跑例程老是报错,但又看不出算法错误,对比其他人的算法实现发现我们创建二维数组的方法不一样,于是对比了一下两种方法的区别。原创 2019-03-23 15:14:49 · 3720 阅读 · 0 评论 -
Python3跳过第一行读取文件
在读取文件的时候,我们很多时候并不需要文件头的注释信息(即第一行),通过判断其是否是第一行来读取在读取大文件时很费劲(每读取一行判断一次)。下面是我跳过第一行的方法总结打开文件后f.readlines()返回的是一个包含每一行的列表,因此我们可以如下操作(也可以从任意行开始读取):with open('file_name', 'r') as f: lines = f.readli...原创 2019-03-18 10:09:20 · 13188 阅读 · 0 评论 -
collections模块中的OrderedDict与其方法popitem()
OrderedDict使用dict时,key是无序的。在对dict做迭代时,我们无法确定Key的顺序。如果想要保持key的顺序,可以使用OrderedDict。OrderedDict的key会按照插入的顺序排列,不是key本身排序。d = OrderedDict([('a', 1), ('b', 2), ('c', 3)])print(list(d.keys()))ds = Ordere...原创 2018-09-28 11:34:34 · 6102 阅读 · 0 评论 -
python3字典之pop()与popitem()
这里我们要说的是字典删除方法:pop()和popitem(),这两种种方法的作用不同,操作方法及返回值都不相同。pop (key[,default])其中,key是必选参数,必须给出,default是可选参数,可以不给出。如果键值key在字典中存在,删除dict[key],返回 dict[key]的value值。否则,如有给出default值则返回default值,如果default值没有...原创 2018-09-28 11:02:42 · 13462 阅读 · 5 评论