![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
gy笨瓜
这个作者很懒,什么都没留下…
展开
-
python tarfile解压文件
解压C:\cifar10\cifar-10-binary.tar.gz为例目录结构和cifar-10-binary.tar.gz包含的文件如下目录结构![在这里插入图片描述](https://img-blog.csdnimg.cn/7a1d9156609541eb93cdee2bd3ab9851.png#pic_center)cifar-10-binary.tar.gz包含的文件...原创 2022-03-07 23:10:13 · 472 阅读 · 0 评论 -
python获取文件大小
获取某一个文件的大小,以C盘aaa.jpeg文件为例,大小为23608字节In [1]: import osIn [2]: statinfo = os.stat("C:\\aaajpeg")In [3]: statinfo.st_sizeOut[3]: 23608 # 与文件大小一致原创 2022-03-07 22:43:11 · 7662 阅读 · 1 评论 -
numpy使用np.sum(...)对np.float32类型的元素求和存在误差
以17742644 + 239为例,正确结果应为17742883,但是以np.float32类型求和,则存在求和误差,因此在以numpy作为底层数值运算库的深度学习框架中,使用float32类型时,可能会与理论值存在差距。以下代码为在spyder中运行,spyder版本为:Spyder 5.0.0Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)]import numpy as npnp.__vers原创 2021-11-22 23:04:30 · 1600 阅读 · 0 评论 -
python——获取函数的参数名称
python中可以根据函数名获取参数名称# 定义一个test_fun函数,接受两个参数:first_param, second_paramIn [1]: def test_fun(first_param, second_param): passIn [2]: test_fun.__code__.co_varnames # 此属性可以获得函数参数名称元组Out[2]: ('firs_param', 'second_param')...原创 2021-03-28 23:11:59 · 6634 阅读 · 4 评论 -
matplotlib绘图相关
1. 设置figsizeIn [1]: import matplotlib.pyplot as pltIn [2]: figsize=(1, 2)In [3]: plt.rcParams["figure.figsize"] = figsize2. 绘制标签In [1]: import numpy as npIn [2]: import matplotlib.pyplot as pltIn [3]: x = np.linspace(-1, 1, 100)In [4]: y = 2 * xI原创 2021-03-28 23:02:49 · 119 阅读 · 0 评论 -
python——模块
模块在物理形式上表示为以.py结尾的代码文件(1)模块的文件名就是模块的名字加上扩展名.py;(2)每个模块都有自己的名称空间;(3)模块首次导入(或重载)时,python会立即执行模块文件的顶层程序代码(不在函数或类内的代码)(4)在导入模块时只能使用模块名,而不能使用带.py后缀的文件名(5)import语句和from…import语句为可执行语句,因此可以嵌套在if测试中,出现在def原创 2021-02-13 12:03:34 · 230 阅读 · 1 评论 -
python——numpy.vstack / numpy.hstack组合矩阵
numpy.vstack / numpy.hstack分别表示沿着行方向和列方向进行组合矩阵numpy.vstack(iterable) 输入参数为可迭代对象,如list或tuple,每个对象为矩阵 要求输入的不同矩阵除第0维外,其余维度全部相同  原创 2021-02-13 11:24:37 · 202 阅读 · 0 评论 -
python——PIL.Image.mode
PIL.Image模块中不同mode含义 "1"二值图像,每个像素一个bit,但在存储时每个像素会以一个byte(8bit)存储 "L"(luminance首字母) 灰度图像,uint8,每个像素一个byte,值域为[0, 255] "F" 灰度图像,32位浮点,值域为[0, 255] "I" 灰度图像,32位整型,值域为[0, 255] 使用PIL.Image.Image.convert(…)不同mode直接转换....原创 2021-02-13 10:47:26 · 1293 阅读 · 0 评论 -
【5】python调用*.dll,向*.dll传入基本数据类型单个值的指针
(1)传入单个int类型值的指针test_dll.dll文件添加如下C代码#include <stdio.h>extern "C"{ _declspec(dllexport) void fun(int *x) { *x = 100; }}python调用test_dll.dll中函数In [1]:import ctypesIn [2]:import win32apiIn [3]:test_dll_path = "test_dll.dll"In [4]:test_d原创 2021-02-10 17:23:42 · 725 阅读 · 0 评论 -
【4】python调用*.dll,向*.dll传入基本数据类型
Python调用*.dll,向*.dll传入基本数据类型【3】python调用*.dll——C中基本数据类型与python中的对应关系中前五个数据类型char、short、int、long、unsigned long可以直接传入,无需使用ctypes中对应数据类型进行包装,只要注意各种数据类型的数值范围即可,float、double则必须使用ctypes中对应数据类型进行封装,否则传入数据错误,因此最好所有数据类型进行包装,形式统一。(1)传入int:test_dll.dll文件添加如下C代码#in原创 2021-02-07 23:22:54 · 1145 阅读 · 1 评论 -
【3】python调用*.dll——C中基本数据类型与python中的对应关系
测试系统: windows在python中想要调用C语言编写的动态库,需要依靠ctypes模块如下为ctypes模块中的数据类型与C中基本数据类型的对应关系 ctypes数据类型C基本数据类型 c_charchar c_shortshort c_intint c_longlong c_ulongunsigned long c_floatfloat c_doubledouble c_void_pvoid * &n原创 2021-02-06 00:00:25 · 322 阅读 · 0 评论 -
python——numpy.expand_dims将numpy.ndarray增加一个维度,数值为1
使用numpy.expand_dims可以将numpy.ndarray数据增加一个维度,数值为1,与np.squeeze相反,类似于pytorch中的torch.squeeze和torch.unsqueezenumpy.expand_dims(a, axis) a: numpy.ndarray数据 axis: 增加维原创 2021-01-26 23:56:37 · 5873 阅读 · 1 评论 -
Spyder输入中文后光标消失
在spyder中输入中文后,存在光标消失问题,可使用如下方式修正:中文输入法状态,点击键盘任意一个字母,再点击backspace键,光标就会重新出现.原创 2021-01-26 23:20:49 · 1361 阅读 · 0 评论 -
python——模块搜索路径
针对windows系统以及Anaconda环境1.python的*.py类型模块搜索路径存储在sys.path,在python程序中打印即可查看当前*.py类型模块搜索路径2.python程序的*.dll或*.pyd类型模块,即动态库搜索路径,可以通过Anaconda Prompt中输入path查看相关路径,当使用Visual Studio调试python需要用到的自行编写的*dll时,应会需要设置此路径,同样类似于java的jni调试。...原创 2021-01-25 22:58:41 · 439 阅读 · 0 评论 -
【1】python加载*.dll
_cdecl和_stdcall是两种不同的函数调用方式,主要区别在于函数入栈以及清理栈帧,具体细节可查阅相关资料。dll文件中函数的不同声明方式也决定了python加载dll的不同方式1. _cdecl,即 extern “C” {…}test.dll中存在一个函数 _cdecl void fun()# 加载test.dllIn [1]: import ctypesIn [2]: dll_原创 2021-01-25 22:42:22 · 587 阅读 · 0 评论 -
【2】python——释放*.dll
以下为windows系统下的使用 当python使用ctypes模块加载*.dll之后,*.dll会被相关对象的析构函数主动释放,但此释放时机依赖于python内置流程,因此若需要主动释放*.dll,可借助于win32api模块的FreeLibrary(…)函数【sample】依赖ctypes以及pywin32模块import ctypesimport win32api# 加载*.dllobj_dll原创 2021-01-24 23:49:49 · 1101 阅读 · 0 评论 -
scipy.misc.imresize的替换方案
错误提示当scipy版本>=1.3.0时,导入scipy.misc.imresize会出现如下错误AttributeError: module ‘scipy.misc’ has no attribute ‘imresize’或from scipy.misc import imresizeImportError: cannot import name ‘imresize’原因scipy版本>=1.3.0时,scipy模块已经移除了scipy.misc.imresize1.0.0&l原创 2021-01-13 21:59:14 · 6923 阅读 · 1 评论 -
python——matplotlib选择后台
1. matplotlib可以使用matplotlib.use(backend, warn=<deprecated parameter>, force=True)选择图像绘制的后台其中backend为str类型,传入后台名称,可选参数下(大小写不敏感): 交互式后台:GTK3Agg, GTK3Cairo, MacOSX, nbAgg,Qt4Agg, Qt4Cairo, Qt5Agg, Qt5Cairo,T原创 2020-12-22 22:27:38 · 594 阅读 · 2 评论 -
python——logging模块使用
基本使用 (1)创建logger对象: logger = logging.getLogger(name=None),name表示logger的名称,为None表示获取root logger (2)设置logger级别: logger.setLevel(level),level常用取值为logging.DEBUG /原创 2020-12-17 22:40:01 · 1033 阅读 · 0 评论 -
python——集合set不存在重复元素
1、set创建(1)非空集合两种创建方式# 第一种创建方式In [1]: set1 = set([1,2,3])# 第二种创建方式In [2]: set2 = {1, 2, 3}(2)空集合只能使用如下方式In [1]: empty_set = set()2、set中不存在重复元素In [1]: set1 = set([1,2,3, 1, 2, 3, 'a', 'b', 'b'])In [2]: set1Out[2]: {1, 2, 3, 'a', 'b'}3、set不支持索引原创 2020-12-15 23:42:20 · 3739 阅读 · 0 评论 -
python——python3.x使用urllib模块下载文件
语法(只简单介绍使用) urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)其中,url为下载网址,filename为存储路径【sample】以下载luna16数据集中annotations.csv文件为例In [1]: import urllibIn [2]: urllib.request.urlretrie原创 2020-12-15 22:26:14 · 1042 阅读 · 0 评论 -
python——@functools.lru_cache修饰符简单使用
使用functools.lru_cache修饰符的函数,简单的理解为保存多次执行结果,当传入某一参数的执行结果已经执行过,则不会再一次执行而是直接返回结果。functools.lru_cache(maxsize=128, typed=False)接受两个参数: maxsize:默认为128,表示保存使用functoo原创 2020-12-14 23:33:49 · 1165 阅读 · 0 评论 -
python——@classmethod修饰符
对classmethod修饰符进行简单说明。 classmethod修饰符修饰的函数不需要实例化一个类对象即可调用,在函数定义时第一个参数为系统保留,由系统传入,表示当前类的类型,无法手动传入,即使由实例化的类对象调用,仍然表示类的类型,非实例化对象。 类中函数定义时,第一个参数名称可为任意,但默认无classmeth原创 2020-12-14 22:49:53 · 371 阅读 · 0 评论 -
python math模块中一些数学计算及常量
1. 自然常数 emath.exp(x)表示e的x次方(e为底,幂为x)In [1]: import mathIn [2]: math.exp(1)Out[2]: 2.7182818284590452. 以e底x的对数In [1]: import mathIn [2]: math.log(math.exp(1))Out[2]: 1.03. 圆周率π\piπIn [1]: import mathIn [2]: math.piOut[2]: 3.141592653589793.原创 2020-12-10 23:26:08 · 1009 阅读 · 0 评论 -
python——list.append和list.extend
list.append(object) 方法用于在列表末尾添加新的对象object,只增加一个元素object,object作为一个整体添加,新列表长度为原来长度加1list.extend(iterable) 函数用于在列表末尾一次性追加iterable中的多个值,会取出iterable中的每一个值作为整体添加,新列表长度为原长度加iterable的长度。In [1]: dat = [1, 2] In [4]: dat = [1, 2]In [2]: dat.append([10,20])原创 2020-12-06 23:24:46 · 560 阅读 · 0 评论 -
python——str类型相关操作
1、大小写转换(1)将小写a-z转换为大写A-Z:str.upper(),只对a-z有效,其它无影响(2)将大写A-Z转换为小写a-z:str.lower(),只对A-Z有效,其它无影响In [1]: dat = "test" In [3]: dat = "TEST"In [2]: dat.upper() In [4]: dat.lower()Out[2]: 'TEST' Out[4]: 'test'In [5]: dat = "tEST测试" In [7]: dat = "tEST测试原创 2020-12-06 22:30:15 · 160 阅读 · 0 评论 -
python——numpy.ndarray将数据限定在某一范围截断
使用numpy.clip(…)根据指定的min和max值将数据限定在一定范围内截断,函数原型如下:numpy.clip(a, a_min, a_max, out=None, **kwargs)【sample】In [1]: import numpy as npIn [2]: dat = np.array([i for i in range(-5, 6)])In [3]: datOut[3]: array([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])原创 2020-12-03 23:26:28 · 8079 阅读 · 0 评论 -
python——使用datetime模块计算时间间隔
使用datetime.timedelta(…)函数计算传入时间的时间间隔可传入参数如下:weeks / days / hours / minutes / seconds / milliseconds / microseconds其中milliseconds表示毫秒,1秒 = 1000毫秒microseconds表示微秒,1秒=1000000微秒【sample】In [1] import datetimeIn [2]: str(datetime.timedelta(weeks=10))Ou原创 2020-12-03 23:12:15 · 884 阅读 · 0 评论 -
python——datetime根据时间戳计算当前时间
主要涉及函数:datetime.datetime.fromtimestamp(…)传入参数为浮点秒数,表示1970纪元后经过的浮点秒数,返回对象类型为datetime.datetime.类型,可以使用strftime函数格式化输出,与python——使用当前datetime模块获取当前时间用法一致。【sample】In [1]: import datetimeIn [2]: dt = datetime.datetime.fromtimestamp(0)In [3]: type(dt)Out[3]原创 2020-12-03 22:39:16 · 998 阅读 · 0 评论 -
python time模块相关操作
1. time.time() 返回当前时间的时间戳——1970纪元后经过的浮点秒数In [1]: import timeIn [2]: time.time()Out[2]: 1606919161.0528011原创 2020-12-02 22:27:06 · 69 阅读 · 0 评论 -
python——复数表示
(1)python复数表示In [1]: x = 1 + 2j(2)访问复数的实部和虚部In [2]: x.real In [3]: x.imagOut[2]: 1.0 Out[3]: 2.0原创 2020-12-01 23:03:47 · 4105 阅读 · 0 评论 -
python——使用当前datetime模块获取当前时间
使用datetime模块获取当前年、月、日、时、分、秒主要函数为datetime.datetime.now()获取当前时间使用datetime.datetime.now().strftime(…)获取具体年月日时分秒描述strftime(…)函数部分参数:%Y: 年(四位数的年份表示)%m: 月份%d: 月内中的一天%H:24小时制小时数%M:分钟数%S: 秒上述参数可以组合使用,也可以单独使用,只获取一个对应属性【sample】In [1]: import datetimeIn原创 2020-12-01 22:42:30 · 10900 阅读 · 0 评论 -
python确定某一类型的继承顺序__mro__
使用**__mro__**可以确定某一类型的继承顺序注:只有数据类型包含__mro__属性,某一具体对象无法使用【sample】In [1]: import numpy as npIn [2]: dat = np.array([1])In [3]: type(dat)Out[3]: numpy.ndarrayIn [4]: type(dat).__mro__ In [5]: np.ndarray.__mrp__Out[4]: (numpy.ndarray, object原创 2020-11-28 19:48:09 · 181 阅读 · 0 评论 -
python numpy.ndarray相关操作
1. 计算维度: numpy.ndarray.ndimIn [1]: import numpy as npIn [2]: dat = np.array([[1,2,3]])In [3]: dat.ndimOut[3]: 2原创 2020-11-25 23:22:14 · 150 阅读 · 0 评论 -
python PIL.Image颜色模式转换
主要为不同颜色模式之间的转换,如RGB、HSVfrom PIL import Imageimg = Image.open('test.jpg')img_hsv = img.convert("HSV")img_rgb = img_hsv.convert("RGB")原创 2020-11-25 22:49:48 · 3052 阅读 · 1 评论 -
python PIL.ImageEnhance中亮度、对比度、饱和度调整
主要涉及Brightness/Contrast/Color调用流程为创建图像增强对象之后,调用对应的enhance函数from PIL import Image, ImageEnhanceimg = Image.open("test.jpg")bright_enhancer = ImageEnhance.Brightness(img)# 传入调整系数1.2bright_img = bright_enhancer.enhance(1.2)contrast_enhancer = I原创 2020-11-25 22:43:18 · 6040 阅读 · 0 评论 -
python判断变量是否为数字
In [1]: import numbersIn [2]: x = 10In [3]: isinstance(x, numbers.Number)Out[3]: True原创 2020-11-25 22:26:09 · 6492 阅读 · 0 评论 -
python内置函数isinstance()和type()
isinstance()和type()用来确定数据类型isinstance()和type()的主要区别isinstance()考虑继承关系type()不考虑继承关系【sample】In [1]: class A(object): passIn [2]: class B(A): passIn [3]: b = B()In [4]: type(b) In [7]: type(b) == BOut[4]: __main__.B原创 2020-11-25 22:21:03 · 115 阅读 · 0 评论 -
python内置函数all(iterable)和any(iterable)
all(iterable)用于判断给定的可迭代参数iterable中的所有元素是否全部为True,元素除了0,、False外都算Trueany(iterable)用于判断给定的可迭代参数iterable中的所有元素是否全部为True,元素除了0,、空、False外都算True【sample】In [1]: all([]) In [2]: all([0]) In [3]: all([False])Out[1]: True Out[2]: False Out[3]: FalseIn [1原创 2020-11-25 22:07:22 · 226 阅读 · 0 评论 -
python numpy模块翻转图像
使用numpy模块对numpy.ndarray表示的图像左右翻转,即沿y轴翻转,函数为:numpy.fliplr(img)示例import cv2import numpy as npimg = cv2.imread("img.bmp", 1)img_lr = np.fliplr(img)原创 2020-11-24 23:13:20 · 3525 阅读 · 0 评论