
Python笔记本
文章平均质量分 78
Python笔记本
桔子code
微信搜索[桔子code],也有干货
展开
-
Python异常处理
上面的意思就是在执行这个py文件的时候追踪到一个异常,发生异常的位置在第11行内容是“a=10/0”(具体的行数是根据这行代码写在py文件中的哪一行决定的),异常错误类别是ZeroDivisionError,具体的错误信息是:division by zero。一个异常包含了错误文件,错误行数,错误代码内容,错误类型和具体的错误信息。原创 2024-07-06 17:39:24 · 241 阅读 · 0 评论 -
Python实例:faker生成数据集、文件
本文的几个例子用faker生成数据并用openpyxl生成表格,或者生成csv、xml、图像文件。原创 2024-06-26 20:25:49 · 543 阅读 · 0 评论 -
Python实例:openpyxl读写单元格
本文介绍openpyxl模块几种读写单元格的方法,先手动创建一个表格,在代码里先用load_workbook()方法读取这个表格生成一个Workbook对象wb,再通过wb得到一个Worksheet实例ws,然后在ws的基础上访问单元格。openpyxl支持整行或者整列的读出,这需要用到Worksheet的这种方法获取到的是单元格实例,还可以进一步地通过访问Cell对象的value属性获取到单元格的内容:当然你还可以在调用iter_rows()和iter_cols()方法时填写。原创 2024-06-22 15:59:59 · 1755 阅读 · 0 评论 -
会自动清除的文件——tempfile
从上面运行的结果可以看出,用pf.close()将文件对象关闭后,这个文件就不存在了,并不需要等待运行程序的结束。前面的内容演示了如何使用tempfile生成临时文件,但是需要注意文件或者文件夹的“生命周期”,如果文件或者文件夹已经被删除再访问它们就会出现报错。在某些不需要持久保存文件的场景下,可以用tempfile模块生成临时文件或者文件夹,这些临时文件或者文件夹在使用完之后就会自动删除。但是如果使用with语句创建。原创 2024-06-22 15:59:54 · 692 阅读 · 0 评论 -
Python轮子:Excel读写利器——openpyxl
在之前的xlwt和xlrd的文章中我们介绍了Excel访问的2个工具,它们分别只能对Excel文件进行写或者读,今天再介绍一个可以对Excel进行读和写的工具——openpyxl。需要注意的是openpyxl只支持xlsx格式的Excel表格,如果要访问xls老格式的Excel表格,仍然需要用到xlrd,xlwt。原创 2024-06-16 13:19:31 · 1045 阅读 · 0 评论 -
获取操作系统信息、Python版本信息
导入sys和platform模块,可以获取到操作系统、Python版本等信息。原创 2024-06-08 22:09:36 · 659 阅读 · 0 评论 -
造假高手——faker
在测试写好的代码时通常需要用到一些测试数据,大量的真实数据有时候很难获取,如果手动制造测试数据又过于繁重无聊,显得不够优雅,今天我们介绍的faker这个轮子可以完美的解决这个问题。faker是一个用于生成各种类型假数据的库,包括名字、地址、个人信息等等。安装与导入安装方法还是一如既往地使用pip,导入模块使用import:pip install fakerimport faker可以通过faker.VERSION查看当前的版本号,当前的版本是25.6.0:import f原创 2024-06-08 22:06:34 · 972 阅读 · 0 评论 -
Python实例:Excel表格内容行列转置
今天的例子实现对Excel表格的行列值完成转置。原创 2024-06-02 11:52:16 · 961 阅读 · 0 评论 -
Python伪随机数模块
random模块可以用来产生伪随机数,需要用import random导入模块。原创 2024-06-02 11:50:57 · 495 阅读 · 0 评论 -
excel表格写存神器--xlwt
在中我们介绍了Excel表格的读取模块xlrd,今天这篇文章带大家了解Excel表格写存模块xlwt。他俩名字相近都以Excel的简写xl开头,rd是read的简写,wt是write的简写。原创 2024-05-26 18:05:07 · 1097 阅读 · 0 评论 -
Python进度条工具——tqdm
在安装Python库文件的时候我们经常可以看到这种进度条:其实Python库中就自带了现成的工具库——tqdm。tqdm读起来比较拗口,它是从“进程”的阿拉伯语taqaddum简化而来。原创 2024-05-15 21:59:38 · 496 阅读 · 0 评论 -
一个好用的轮子——美丽“表哥”(prettytable)
在编写命令行程序时如果要输出表格,如果使用print()函数,通常需要花费大量的精力用在空格符和tab制表符的排版上。运行结果:可以看到显示的各个字段并没有对齐,不便于查看打印结果。运行结果:可以看到,这样的输出结果看起来舒服多了。运行结果:这个时候看到第2行内容因为增长的名字导致无法对齐了,联系方式这一列也无法对齐了,又得需要计算每个字段的长度重新调整制表符或者增加空格才能实现表格对齐了。有没有现成的轮子可以用得上呢,答案当然是肯定的,今天出场的就是prettytable。原创 2024-05-08 08:30:00 · 367 阅读 · 1 评论 -
Python文件属性、文件摘要
文件属性,文件摘要原创 2022-05-29 23:31:25 · 814 阅读 · 0 评论 -
Python压缩解压–tarfile
Python压缩解压缩模块tarfile原创 2022-05-21 22:33:53 · 4441 阅读 · 0 评论 -
Python压缩解压--lzma
Python压缩解压模块lzma原创 2022-05-16 08:30:00 · 3913 阅读 · 0 评论 -
Python压缩解压–gzip
python压缩解压缩模块gzip原创 2022-05-12 23:50:19 · 7243 阅读 · 0 评论 -
Python压缩解压–zipfile
python压缩解压缩模块zipfile本文介绍zipfile模块的使用,zipfile可以用来解压或压缩zip格式的文档。1、判断是否为zip格式的文件使用is_zipfile(文件路径)返回True表示为zipfile模块支持的zip文件,否则为不支持的文件。下面这个例子分别判断zip格式和用7zip压缩生成的7z格式的2个文件是否为zip文件:import zipfileprint('file原创 2022-05-12 23:50:12 · 7611 阅读 · 0 评论 -
python py文件与pyc文件相互转换
本文以Python3.8为例1、 compileall py文件转换为pyc1.1、compileall命令行模式不需要额外安装,python自带模块。可以利用Python -m的方式在命令行模式下编译py文件。python -m compileall 文件或路径 可选项比如要编译当前工作目录下的所有py文件:python -m compileall .或者:python -m compileall .\比如要编译某个指定目录sub\dir\下的所原创 2022-05-04 23:53:07 · 8301 阅读 · 0 评论 -
Python的多版本、多虚拟环境共存(jupyter篇)
原文链接:http://www.juzicode.com/python-note-multi-version-python-jupyter1、安装多个Python版本或创建虚拟环境:2、在对应的Python版本或虚拟环境的安装路径下使用pip install jupyter安装jupyter。3、任何版本下启动jupyter lab,找到其启动时使用的是哪个路径:比如这个例子中启动的是d:\python\python38\lib\site-packages\jupyterlab。原创 2021-12-08 21:25:58 · 1757 阅读 · 0 评论 -
写换行符我不要CR只要LF(Windows系统写文件如何实现Linux风格的换行符)
windows系统写文本文件,实现inux风格的换行符原创 2021-12-03 08:30:00 · 1729 阅读 · 0 评论 -
用这个方法解决Python多版本共存问题,简单粗暴
原文链接:http://www.juzicode.com/python-note-multi-version-python老规矩先抛问题:一台电脑上安装有多个Python版本、多套虚拟环境,如何在命令行快速启动对应的版本?这里结论也先给出来,方便不想看水文的同学:可以编写多个对应版本的批处理文件,在批处理文件中设置path变量,将对应版本的路径添加到path路径的最前面,这样要运行哪个版本或虚拟环境打开对应的批处理文件即可:问题和结论讲完了,接下来聊下为什么可以这么做,下面的描述原创 2021-11-29 08:30:00 · 7222 阅读 · 0 评论 -
好冷的Python~别再说标识符只能用字母数字下划线了
原文链接:http://www.juzicode.com/archives/3672先看一个C语言的例子://juzicode.com;vx:桔子code #include int main(void){ char* name="桔子code"; printf("name=%s",name); char* 名字="桔子code"; printf("name=%s",名字); return 0;}第7行在定义变量“名字”时使用的是中文,不符合C语言中变量名原创 2021-04-03 10:39:25 · 664 阅读 · 0 评论 -
新鲜上架的Python3.10,来个match-case尝尝鲜
原文链接:http://www.juzicode.com/python-note-3-10-match-casePython3.10.0正式版本在月初终于发布了,其中一个重要的特性就是支持match-case语句,这一类似C语言switch-case语句终于在Python中实现了。一般匹配模式C语言中一个典型的swicht-case语句像下面这样,在switch里包含要判断的变量x,case语句后则是匹配变量值是多少,如果满足这个匹配条件,就执行“case n:”后面的语句,直到遇到brea原创 2021-10-21 08:30:00 · 1150 阅读 · 0 评论 -
Python列表的索引切片还可以这么理解
原文链接:http://www.juzicode.com/python-note-list-slice-index老规矩先抛问题:1)、有一个列表lst赋值为lst=[0,1,2,3,4,5,6,7,8,9]; 2)、lst[2:-2]的值是多少? 3)、lst[2:]=[21,22,23]和lst[2]=[21,22,23]赋值后lst的值为多少?下标索引Python的list是一种有序数据结构,可以像C语言数组那样通过下标方式进行访问,比如定义一个list:lst=[0,1,2,3原创 2021-08-24 22:02:20 · 1110 阅读 · 0 评论 -
好冷的Python~奇葩的空字符串
原文链接:http://www.juzicode.com/archives/5699在Python中可以用下面这种方式定义一个空字符串:a = ''如果在引号中多输入一个空格的形式定义一个字符串:b = ' '这时a和b看起来好像都是“空”的,a和b还是同一个东西吗?它们二者是相等的吗?#VX公众号: 桔子code / juzicode.coma = ''b = ' 'print(a==b)运行结果:False从运行结果看,二者并不相等。另外我们也.原创 2021-06-04 22:36:26 · 354 阅读 · 0 评论 -
Python除法:四舍五入,地板除,取整,取小数
原文链接:http://www.juzicode.com/archives/5985因为除法运算会遇到除不尽问题,除法运算后的结果就会存在各种近似取结果的情况,比如最后的结果是向下取整或者向上取整还是四舍五入?1、除法 /#VX公众号: 桔子code / juzicode.coma,b = 95,20c = a/bprint('a=',a,'b=',b,'c=',c)运行结果:a= 95 b= 20 c= 4.752、四舍五入round()round()的第2个位.原创 2021-06-19 11:30:42 · 4391 阅读 · 0 评论 -
好冷的Python~条件语句的短路原则
原文链接:http://www.juzicode.com/archives/5258桔子菌小时候看到小伙伴用电池和灯泡做了个手电筒,也找来材料依葫芦画瓢做了一个,但是因为没有找到开关,就只能用断开接线的方式关闭手电筒。有一次突然发现把电池的2头短接起来也能关闭手电筒,桔子菌为了这个发现兴奋不已,可是时间久了我的小手电就点不亮了,还一度以为小灯泡坏了。你可能会奇怪,我们是来聊Python的,怎么说到桔子菌小时候的事情了。言归正传,先看一段条件语句的代码,眼尖的你可能看到这里b并没有定义或赋值就原创 2021-05-08 23:13:38 · 1258 阅读 · 0 评论 -
好冷的Python~return遇上try…except…finally还会return吗
先来个开胃菜看一个函数,这个函数检查输入的数值是正数、负数或是否为0,并返回相应的数值1、-1或者0:#VX公众号:桔子code / juzicode.comdef func(num): if num > 0: print(num,'是一个正数') return 1 elif num < 0: print(num,'是一个负数') return -1 else: print(num,'原创 2021-05-06 17:45:36 · 982 阅读 · 3 评论 -
python进阶-xlrd读excel
原文链接:http://www.juzicode.com/archives/4557[注] xlrd2.0以后版本只支持xls格式的excel表格,不再支持xlsx格式xlrd可以用来读excel表格,xlwt用来写excel表格,二者都不是标准库,需要安装。pip install xlrd,xlwt今天先介绍xlrd,我们先创建一个xls格式的文件,文件包含了3个sheet,内容是下面2张图片这样的,其中Sheet3是个空表:excel文件的结构:file文件–sheet表–原创 2021-04-24 21:08:01 · 803 阅读 · 1 评论 -
改造getpass,强迫症患者再也不用担心少输字符了 (Python getpass源码分析与改造)
原文链接:http://www.juzicode.com/archives/47191、引子在Python中获取键盘输入我们通常使用input()实现,函数返回的值就是输入的内容:如果用上面这种方式输入密码,你的密码就完全“裸露”在外了,是不是有一种被人偷窥的感觉。不过Python提供了内置的getpass模块可以帮助我们解决这个问题:但是从上面的运行情况看,输入的字符并没有任何替代提示,这样每次按键是否确实输入了也不太清楚,通常的做法是用星号*提示按下了一个按键。桔子.原创 2021-04-23 18:29:19 · 391 阅读 · 0 评论 -
Python logging正在忠实记录你的一举一动(日志记录模块logging)
原文链接:http://www.juzicode.com/archives/4249在调试代码时通常使用print()将要观察的对象打印出来,但是print()函数是一种”运行时”工具,需要实时观察对象的输出,当程序部署到生产环境后,使用print()函数就不太现实了:程序运行窗口可能会崩溃导致记录的信息丢失;简单使用print()函数不能记录时间线,多事件分析时没办法观察先后顺序;如果程序是被其他进程启动的,控制台窗口可能就不存在。Python自带的logging模块可以很好的实现输出日志的功能,既可原创 2021-04-16 08:05:09 · 265 阅读 · 0 评论 -
非工作路径、非入口路径导入Python自定义模块
原文链接:http://www.juzicode.com/archives/4259老规矩,先抛问题:有2个py文件,分别是在当前工作路径下的xx\modxx.py和yy\modyy.py,如果要在modxx.py中导入modyy模块,该怎么导入模块?文件结构是下面这样子的:import_dir\ #当前工作目录-----\xx\ -----modxx.py-----\yy\ -----modyy.pymodyy.py中的内容是这样的:def func_原创 2021-04-14 18:08:32 · 570 阅读 · 0 评论 -
老板,帮忙把这份Python代码打个包(pyinstaller打包python代码)
原文链接:http://www.juzicode.com/archives/4193想象一个场景,你写的Python程序做好之后如果要发布给别人用,别人拿到你的代码就能直接用了吗?好像至少还要安装一个解释器吧。如果你的代码使用了第三方库文件,还得让别人先安装第三方库文件。有没有一种方法可以解决这些问题,对方拿到你的程序直接运行就可以了?当然有,pypi就好像多啦A梦那个“机械人专用四次元空间内藏秘密道具格纳口袋”,随意翻一翻就能找到好东西,其中pyinstaller就是一个非常优秀的打包工具,下面我们就原创 2021-04-12 20:55:17 · 194 阅读 · 0 评论 -
启动Python的N种方法(Windows系统)
内容目录[hide]1、命令行启动进入交互界面 2、命令行输入Python.exe+py文件 3、双击py文件执行 4、Python自带的IDLE原文链接:http://www.juzicode.com/archives/35271、命令行启动进入交互界面在命令行界面下输入“python”启动python解释器,进入Python交互界面。启动命令行也有多种方式:可以在运行界面输入cmd启动、在资源管理器地址栏输入cmd启动、制作bat文件启动、在命令行输入start启动,具体启动方式和.原创 2021-04-12 07:28:01 · 25663 阅读 · 0 评论 -
python进阶~sqlite3模块
SQLite是一种轻量级、无配置、文件型的数据库,SQLite文件可以在不同的系统跨平台使用,不管是32位或者64位系统,也不管是大端模式或者小端模式CPU架构。任何人可以自由的拷贝、修改、出版、使用、编译、出售或者发布其源码和二进制文件,不管是商业性质或者非商业性质的目的。正因为如此宽松的协议,也为了保证项目的完全自由和免受版权妨碍,SQLite不接受任何第三方贡献代码。SQLite源码提供的是C/C++接口,Python3内部集成了sqlite3模块,不需要安装使用import sqlite3即可完成模原创 2021-04-03 08:05:19 · 650 阅读 · 0 评论 -
数据分析~numpy数组变形记
原文链接:http://www.juzicode.com/archives/2923numpy数组的变形可以实现对原始数组的维度改变、轴长度改变,假设原始数据的形状为(n1,n2….nx),变化后的形状为(m1,m2,…my),则要求 n1*n2….*nx = m1*m2…*my。1、a.resize(m,n)b=a.resize(m,n):会改变数组a本身,返回b是None。#juzicode.com,VX:桔子codeimport numpy as npa = np.ar.原创 2021-01-15 22:29:13 · 425 阅读 · 0 评论 -
pyautogui: 有了Python键盘鼠标都可以省着用了
原文链接:http://www.juzicode.com/archives/3560pyautogui可以用来控制键盘鼠标模拟人为操作,从而实现某些需要人工操作才能控制的场景,比如某些应用软件的测试、不适合爬虫的网页内容获取等场景。还可以用来截取屏幕,它附带了简单的图像识别功能,通过事先保存的模板图片,在屏幕上匹配该模板图片得到屏幕位置,再传递给鼠标控制函数实现点击、输入操作。pyautogui不是Python标准库,需要先安装:pip install pyautogui1、屏幕大小.原创 2021-01-13 20:59:18 · 1441 阅读 · 0 评论 -
好冷的Python~默认参数、可变对象和不可变对象
原文链接:http://www.juzicode.com/archives/3402昨天有个小伙伴给桔子菌留言发来一段代码,疑惑为什么没有得到他预期的结果,桔子菌把代码简化之后是这个样子的:def foo(x,l=[]): l.append(x) return la = foo(1)b = foo(2)print('a:',a)print('b:',b)==========运行结果:a: [1, 2]b: [1, 2]这段代码的本意是想两次调用foo()...原创 2021-01-06 19:19:18 · 270 阅读 · 1 评论 -
好冷的Python~ 那些同名的家伙们
原文链接:http://www.juzicode.com/archives/1466前两天桔子菌在调试代码的时候发现自己写的一个方法怎么也执行不到,这个自定义的类大概是下面这样子的:class ClassA(object): def __init__(self,filename): self.name = '公众号: 桔子code' self.filename = filename self.data = None原创 2020-12-07 12:51:11 · 176 阅读 · 0 评论 -
好冷的Python--if __name__==’__main__’是啥东东
原文链接:http://www.juzicode.com/archives/1750在看Python标准库文件或他人写的Python模块时,经常看到py文件最后有这样一段代码:if __name__=='__main__': 'do something'从代码字面含义理解,如果__name__变量等于’__main__’就执行某些动作。__name__变量在这里又是什么含义呢?1、__name__是什么我们知道Python脚本执行时,解释器会从文件开始逐行往后解析,如果遇.原创 2020-11-11 09:19:17 · 279 阅读 · 0 评论