
python使用技巧
源代码杀手
大厂算法工程师经验、高校教师。
互相学习,共同进步!想做项目,私聊需求。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pip指定保存用到的开发环境及其版本
pipreqs首先,你需要安装pipreqs工具,这是一款自动化的 Python 包管理工具。它的主要功能是根据项目中实际用到的代码生成文件。使用清华源进行安装的原因是中国大陆访问 PyPI 官方源的速度较慢,清华镜像源能够提供更快的下载速度,确保你能够迅速安装工具。一旦安装完成,你就可以使用pipreqs来轻松地生成和管理项目的依赖文件。原创 2025-04-19 01:51:29 · 337 阅读 · 0 评论 -
详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本
nbconvert工具是一个非常强大的命令行工具,可以将 Jupyter Notebook 文件转换为多种格式,如 Python 脚本、HTML、PDF 等。可以使用--to参数指定输出格式,使用--output参数自定义输出文件名。还可以通过--execute在转换时执行代码,确保生成的输出是最新的。Jupyter 界面也提供了导出功能,适合不熟悉命令行的用户。原创 2025-03-11 07:39:34 · 1580 阅读 · 1 评论 -
完美解决Windows PowerShell无法配置Anconda3问题
但请注意,这可能会降低系统安全性。使用 Bypass 执行策略:在运行 PowerShell 命令时,通过指定 -ExecutionPolicy Bypass 参数来绕过执行策略限制。修改执行策略:使用 Set-ExecutionPolicy 命令,将执行策略更改为 RemoteSigned 或 Unrestricted,以允许本地脚本的执行。手动编辑策略文件:手动编辑 PowerShell 策略文件,以允许脚本的执行。运行 Bypass 执行策略:您可以使用 Bypass 执行策略来绕过执行策略限制。原创 2024-05-10 21:34:01 · 599 阅读 · 0 评论 -
python使用技巧(三十四):在Matplotlib插入LaTex公式实例
【代码】python使用技巧(三十四):在Matplotlib插入LaTex公式实例。转载 2022-12-09 18:08:38 · 1637 阅读 · 0 评论 -
python使用技巧(三十三):多维列表list数据写入Excel的xlsx文件
【代码】python使用技巧(三十三):多维列表list数据写入Excel的xlsx文件。转载 2022-11-25 16:09:50 · 8691 阅读 · 0 评论 -
python使用技巧(三十二):将整个list都是数值的字符串转为正常的数值list--->案例:str = “[1,2,3,5,7,10]“
【代码】python使用技巧(三十二):将整个list都是数值的字符串转为正常的数值list--->案例:"[1,2]"原创 2022-11-02 18:24:29 · 387 阅读 · 1 评论 -
python使用技巧(三十一):一行代码清理你的linux运行程序后死机或卡顿的情况
python里gc.collect()命令可以回收没有被使用的空间,但是这个命令还会返回一个数值,是清除掉的垃圾变量的个数。原创 2022-08-22 20:39:12 · 538 阅读 · 0 评论 -
python使用技巧(三十):python保存本地npy与C++调用npy
写入 .npy 的优势在于使用低级 C++ I/O(fread 和 fwrite)来提高速度,使用二进制格式来提高大小。.npy 文件头负责指定数组的大小、形状和数据类型,因此不需要指定数据的格式。NumPy 提供了save将数组轻松保存到 .npy 以及savez将多个 .npy 数组一起压缩到 .npz 文件中的方法。将 numpy 格式的数据加载到 C++ 中同样简单,但需要您将加载的数据类型转换为您选择的类型。其动机来自科学编程,其中大量数据在 C++ 中生成并在 Python 中进行分析。....原创 2022-08-09 10:01:20 · 1723 阅读 · 0 评论 -
python-flask框架基础:传入字符、整形、浮点型、文件路径参数以及图片
实现结果原创 2022-07-04 18:33:21 · 540 阅读 · 0 评论 -
python使用技巧(二十八):减少字典计算速度的技巧
输出结果:原创 2022-06-23 14:51:15 · 457 阅读 · 0 评论 -
完美解决 AttributeError: ‘str‘ object has no attribute ‘decode‘
原因在安装tensorflow时,默认安装h5py为3.1.0,而报错是因为你安装的TF不支持过高版本的h5py。1.卸载h5py3.1.0版本,安装h5py2.10.0版本。2.重启编译器pip install h5py==2.10.0原创 2022-06-07 11:15:16 · 4072 阅读 · 1 评论 -
python使用技巧(二十八):判断并计算列表不同数据类型的基数
list_demo = [1, 1, 3, 4, 1, 1,'FGVRH', '56', 'C', 'RR', 'SS', 'EE',"F53"] # 计算标注数据的类型基数heads_num=0# deps_num=0for i in list_demo: if str(type(i))==str(type("")): heads_num=heads_num+1 # print(i) # if str(type(i))==str(type原创 2022-05-19 15:19:11 · 323 阅读 · 0 评论 -
python使用技巧(二十七):音频WAV和PCM的互相转换
wav和pcm是语音信号处理中最常见的文件格式,时常会遇到需要两种文件格式的相互转换。wav存储的一般是解码后为[-1, 1]的float数据,文件头有44个字节记录文件的采样率、长度等等信息。pcm存储的是int型整数,不含任何采样率相关信息。虽然原理比较简单,但是整理后更便于利用。wav转pcm:原理:将文件头去掉,数据转成int型即可import numpy as npdef wav2pcm(wavfile, pcmfile, data_type=np.int16): f = open(原创 2022-03-09 18:32:45 · 8479 阅读 · 0 评论 -
python使用技巧(二十六):批量复制图片或文件到另一文件目录
直接上代码:# coding=utf-8# 批量复制或删除import osimport shutil# 递归复制文件夹内的文件def copyFiles(sourceDir, targetDir): # 忽略某些特定的子文件夹 if sourceDir.find("exceptionfolder") > 0: return # 列出源目录文件和文件夹 for file in os.listdir(sourceDir):转载 2022-01-23 13:11:20 · 941 阅读 · 0 评论 -
python使用技巧(二十五):*args, **kwargs生成可变列表与字典
def func(*args, **kwargs): """ *args用来表示函数接收可变长度的非关键字参数列表作为函数的输入 **kwargs表示函数接收可变长度的关键字参数字典作为函数的输入**kwargs表示函数接收可变长度的关键字参数字典作为函数的输入 """ print(args) print(kwargs) print("------------------") return argsdef test_args(normal原创 2022-01-21 22:46:02 · 806 阅读 · 0 评论 -
python使用技巧(二十四):彻底学会argparse与sys.argv方法
目录1、sys.argv2、argparse3、结合两种使用更好详细说明直接看代码,这里就不注水了。1、sys.argvimport sysa=sys.argv[0] # 当前py路径目录print(a)b=sys.argv[1] #从所以为1开始加入参数print(b)c = sys.argv[2:] #2后面的参数都是这个,多余两个自动生成list#如果制定维度,则[2:4]print(c)if __name__ == '__main__': pass# pytho原创 2021-12-10 15:06:50 · 1531 阅读 · 0 评论 -
python异常处理模块raise NotImplementedError
raise NotImplementedError的使用感觉很类似于C#中虚函数的效果,它的意思是如果这个方法没有被子类重写,但是调用了,就会报错。唯一的作用就是把这个异常内置进去,然后写父类方法的时候抛出这个异常,报错的时候比较容易看,最终为了方便调试bug。'''# class TestClassOne(object):## def Test(self):# raise NotImplementedError## class TestClassTwo(Tes原创 2021-11-20 16:10:44 · 3821 阅读 · 0 评论 -
简单使用tf.app.run()、tf.logging和tf.app.flags机制
1、测试输入# fila_name: temp.pyimport tensorflow as tfFLAGS = tf.app.flags.FLAGStf.app.flags.DEFINE_string('string', 'train', 'This is a string')tf.app.flags.DEFINE_float('learning_rate', 0.001, 'This is the rate in training')tf.app.flags.DEFINE_boolean原创 2021-11-19 13:58:32 · 1344 阅读 · 0 评论 -
python使用技巧(二十三):按位取反符号~
~,用法只有一个那就是按位取反,需要主意的是:~的按位取反,包括符号位正数各位取反变为负数,显示时转化为其补码负数本身需要先转换为补码(符号位不变,各位取反再加 1),再对其补码进行各位去反参考文献:https://blog.csdn.net/lanchunhui/article/details/51746477...原创 2021-10-10 17:52:57 · 1191 阅读 · 0 评论 -
python使用技巧(二十二):多肽性abc.ABCMeta
描述:多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法),也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。上述代码子类是约定俗称的实现这个方法,加上@abc.abstractmethod装饰器后严格控制子类必须实现这个方法.@abstractmethod:抽象方法,含abstrac原创 2021-10-08 11:40:36 · 748 阅读 · 0 评论 -
python使用技巧(二十一):class()与class(object)的区别以及object的使用
说明:python定义类时,class()与class(object)的区别在python2中,class(object)定义时,class继承了object()的属性;在python3中,class()默认继承了object();为什么要继承object类呢?目的是便于统一操作。继承object类是为了让自己定义的类拥有更多的属性。下面用一个代码例子进行理解:执行结果:<class 'str'>6吃草草草<class 'int'>0吃草草草<class原创 2021-10-07 17:35:43 · 4010 阅读 · 0 评论 -
python使用技巧(二十):super()方法
描述super() 函数是用于调用父类(超类)的一个方法。super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。语法以下是 super() 方法的语法:super(type[, object-or-type])测试代码1:super().add(x) #等价于super().add(x) => y = x原创 2021-10-07 16:49:22 · 311 阅读 · 0 评论 -
python使用技巧(十九):嵌套类
直接上代码:#------------------------------------class A: def __init__(self): self.a = 'a' print(self.a)class B(A): def __init__(self): self.b = 'b' A.a = 'a_b' print (self.b, A.a)#----------------------------原创 2021-10-05 18:57:09 · 968 阅读 · 0 评论 -
python使用技巧(十八):numpy中np.max和np.maximum
1.np.max(a, axis=None, out=None, keepdims=False)求序列的最值 最少接受一个参数 axis默认为axis=0即列向,如果axis=1即横向>>> import numpy as np>>> np.max([2, 11, 4, -1, 82])822.np.maximum(X, Y, out=None) X和Y逐位进行比较,选择最大值. 最少接受两个参数>>> np.max原创 2021-07-30 17:48:05 · 1477 阅读 · 0 评论 -
完美解决No files matched pattern
tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected ‘tf.Tensor(False, shape=(), dtype=bool)’ to be true. Summarized data: b’No files matched pattern: /Documents/wanjipark/yolov3-tf2/data/voc2021_train_G005.tfrecord’原创 2021-06-17 15:31:31 · 1864 阅读 · 0 评论 -
完美解决requirements.txt无法使用的问题
生成requirement.txt文件pip freeze > requirement.txt查看requirement.txttype requiremenr.txt批量执行requirement.txtpip install -r requirement.txt但是,如果以上的操作的环境混用怎么办?在导出依赖到 requirement.txt 文件时会有一种尴尬的情况。你的本地环境不仅包含项目 A 所需要的依赖,也包含着项目 B 所需要的依赖。此时我们要如何做到只把项目 A原创 2021-02-03 10:04:21 · 8640 阅读 · 2 评论 -
完美解决Ubuntu安装pypcap报错问题
先输入:sudo apt-get updatesudo apt-get install libpcap0.8-dev再次输入:pip install pypcap完美解决原创 2021-02-01 18:52:12 · 633 阅读 · 0 评论 -
简单使用np.reshape(x,y)模块
直接看源码就能看懂:>>> import numpy as np>>> a=np.arange(24)>>> print(a)[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]>>> b=a.reshape(3,-1)>>> barray([[ 0, 1, 2, 3, 4, 5, 6, 7],原创 2021-01-20 17:17:22 · 364 阅读 · 0 评论 -
使用Python实现NetworkX复杂网络的结构,动力学和功能
NetworkX是一个Python软件包,用于创建,操纵和研究复杂网络的结构,动力学和功能。复杂网络软件图,有向图和多重图的数据结构许多标准图算法 网络结构与分析措施经典图,随机图和合成网络的生成器节点可以是“任何东西”(例如,文本,图像,XML记录)边可以保存任意数据(例如权重,时间序列)开源3条款BSD许可证经过良好测试,代码覆盖率超过90%Python的其他好处包括快速原型制作,易学和多平台pdf下载链接:https://networkx.org/documentation.原创 2021-01-04 21:54:16 · 1503 阅读 · 0 评论 -
Python使用技巧(十七):可视化均匀分布和概率分布函数
一、实现结果:二、源码import numpy as npfrom scipy.stats import beta, norm, uniform, binomimport matplotlib.pyplot as pltfrom functools import wrapsdef my_plot(label0=None, label1=None, ylabel='probability density function',原创 2021-01-03 21:54:16 · 791 阅读 · 4 评论 -
Python使用技巧(十六):固定时间输出模拟数据
以下实现1ms=0.001s输出一次结果:# -!- coding: utf-8 -!-import timedef time_info(interval): i = 1 while i <= 1000: print("time : " + str(i)) i += 1 time.sleep(interval)if __name__ == '__main__': time_info(0.001)输出结果:.原创 2020-12-25 08:40:50 · 521 阅读 · 0 评论 -
Python使用技巧(十五):静态类方法@staticmethod和@classmethod
零、介绍静态类方法@staticmethod和@classmethod的关系一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。既然@staticmethod和@classmethod都可以直接类方法名()来调用,那他们有什么区别呢?从它们的使用上来看,@staticmethod不需要表示自身对象原创 2020-12-21 09:28:05 · 816 阅读 · 0 评论 -
Python使用技巧(十四):城市形态模块库osmnx的安装与测试使用
一、介绍OSMnx工具箱,该工具箱可从OpenStreetMap自动下载,建模和可视化空间数据。可以通过该工具可视化方法(包括地物图和极坐标直方图)以计算方式探索世界各地街道网络和建筑物中的模式和配置,这些方法有助于将城市复杂性压缩成可理解的人工产物,以反映人类对建筑环境的体验。无处不在的城市数据和计算可以从定量和定性的角度开辟新的城市形态分析。(参考:https://geoffboeing.com/)二、安装osmnxconda install -c conda-forge osmnxpip原创 2020-12-17 18:11:54 · 6628 阅读 · 10 评论 -
Python使用技巧(十三):图像界面设计PySide2与PyQt5的安装与使用测试
零、介绍PyQt是Python语言的GUI编程解决方案之一。可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等。与Qt一样,PyQt是一个自由软件。PyQt是PyKDE的基础。 PyQt的开发者是英国的“Riverbank Computing”公司。与4.5版本之前的。PySide是跨平台的应用程序框架Qt的Python绑定版本。 在2009年8月,PySide首次发布。提供和PyQt类似的功能,并相容API。但与PyQt不同处为使用LGPL授权。一、安装PyS原创 2020-12-17 12:25:07 · 2288 阅读 · 0 评论 -
Python使用技巧(十二):去掉列表中的元组括号及其之间的转化计算
在这可以用zip()函数X = [1.4 ,3.2, 5.8, 2.1, 3.5] ...: Y = [2.1, 5.6, 1.2, 1.3, 4.6]XY = [i for i in zip(X, Y)]XYOut[8]: [(1.4, 2.1), (3.2, 5.6), (5.8, 1.2), (2.1, 1.3), (3.5, 4.6)]tuple(XY)Out[9]: ((1.4, 2.1), (3.2, 5.6), (5.8, 1.2), (2.1, 1.3), (3.5, 4.6原创 2020-12-16 17:18:52 · 3561 阅读 · 0 评论 -
Python使用技巧(十一):图像处理skimage模块库的安装与使用
一、介绍skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能。它是由python语言编写的,由scipy 社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块列表如下:当要使用对应的模块中功能函数时,需要通过import导入对应的子模块即可, 若要导入多个子模块时,子模块之间用逗号隔开,如下:from skimage import io, dat原创 2020-12-16 14:47:35 · 9701 阅读 · 4 评论 -
Python使用技巧(十):zip(x,y)模块
一、利用zip函数将两个列表(list)组成字典(dict)keys = ['a', 'b', 'c']values = [1, 2, 3]dictionary = dict(zip(keys, values))print(dictionary)二、 合并两列表a = [1, 2, 3]b = (4, 5, 6)z = zip(a, b)for i in z: print(i)按行输出:a = [ [1,2,3], [4,5,6], [7,8,9] ]for v in原创 2020-12-15 17:31:27 · 3991 阅读 · 1 评论