自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 tkinter 开关按钮(Switch)控件

只是简单实现了一下动画。

2025-03-19 23:41:48 265

原创 tkinter快键画布

这个画板仅仅是为了服务于个人设计的截图功能贴图功能中的画板,方便我直接进行继承拓展。截图自制工具详见我的主页。个人认为设计可谓相当简洁优雅。

2025-03-16 23:17:12 181

原创 高性能仿微信截图区域暗亮色比对

拖拽矩形,矩形区域内颜色保持透明,外部颜色保持半透明。

2025-02-19 21:50:04 237

原创 python练手项目-截图工具(轻量化)

这是用Python做到截图工具,不过由于使用了ctypes调用了Windows的API, 同时访问了Windows中"C:/Windows/Cursors/"中的.cur光标样式文件, 这个工具只适用于。目前模块尚未完成,只包含了基本的截图时调整大小,保存,翻页查看不同截图这些简单功能;后续会继续完善,但当前模块的可用性已足够,且代码经过重构,具备一定的可读性以及可拓展性。这一个第三方库,和别的使用pygame\pyautogui等模块不同,该工具着重强调轻量化,无关或没必要使用的库尽可能不使用。

2025-02-08 22:59:08 1034 1

原创 Python自带模块实现屏幕像素高效操作

上述方法比通常使用PIL的Image.ImageGrab方法要高效非常多,因为Image.ImageGrab是基于IO截屏操作的,频繁的IO操作使单纯进行屏幕像素访问十分低效。而上述方法采用的是BitBlt。BitBlt是一种高效的位图操作方法,可以将窗口的内容复制到内存设备上下文中,然后通过GetPixel或直接访问位图数据来获取像素颜色。就像素访问而言其性能显著强于前者。Windows GDI) (位图函数 - Win32 apps | Microsoft Learn。

2025-01-21 15:59:41 366

原创 一个粗糙的html登录框

在学习了一点html后,模仿某个登录框,花费接一小时写了一个粗糙的登录框。很多属性都是搜索-尝试-调整。

2025-01-18 23:24:28 197

原创 DNS解析域名简记

需要注意的是,域名的知名度并不是决定其顶级域名是否被省略的因素。而且域名的补全也不总是准确的,特别是当存在多个可能的顶级域名后缀时。但有时候,我们输入网址时可能会省略顶级域名,例如:```https://boardmix.cn/app/editor/file```根域名服务器和顶级域名服务器都是为我们指路找权威命名服务器用的。如果DNS服务器无法解析,它可能会尝试添加常见的顶级域名后缀,如“.com”、“.org”等。域名是由: ```权威域名.顶级域名.根域名```,组成的。浏览器层面会尝试自动补全。

2025-01-11 12:08:02 408

原创 什么是端口

端口是用来区分同一网络设备(IP地址)上运行的不同服务或应用程序接收外部数据的窗口。

2025-01-11 00:03:22 377 1

原创 IP地址与Mac地址

③需要注意,只要两台网络设备之间能够直连,它们所处的网络就能被称为局域网,当然这是一种广义的理解。根据这一特性,ARP解析出的Mac地址在无数个局域网中发力,从而使数据在无数个可以直连的网络设备中实现遥远的传输。因此,IP地址的诞生,一来是为了破除地理位置的约束,让远在天边的两台设备即使不能直连,但也能通过无数个其他设备的直连实现最终连接;问题2:根据ARP地址解析协议,将IP地址 -> Mac地址 , 从而在可直连的局域网中,将数据传输到下一个更靠近客户端的网络设备。③Mac地址就是这部手机的产商编号。

2025-01-09 11:51:47 375

原创 TCP/IP四层模型

③网际层,"网际"是网络与网络的交际,直接与物理的网络设备打交道。②传输层,"传输"指端到端的传输,从起点到终点,确保整条路线的安全可靠(TCP/UDP协议);比喻:快递分拣人员,他们为寄送包裹挂上标签打上保险,保障每个包裹能安全抵达目的地。比喻:包裹途经的各个路由中转部门。它们通过查看包裹的目的地,决定包裹的下一站,比喻:寄送方,他们关心寄送的东西,收件人,寄送到哪,什么方式签收等等;比喻:包裹的实际运送人,如货车司机,快递员,它们关心包裹的真实运送。④数据链路层,关心最底层数据的可靠传输。

2025-01-09 11:12:16 333

原创 TCP与UDP协议

TCP使用序列号(Sequence Numbers)来确保数据包的顺序,并且如果发生丢包,接收方会发送一个确认号(ACK)来请求重新发送丢失的数据包。同样将数据分成多个数据报进行发送,但它不保证数据报的顺序,也不提供错误恢复机制。UDP在发生丢包时,确实不能像TCP那样只重新发送丢失的数据包,而是可能需要重新发送整个数据报。)不需要建立连接,它直接发送数据包。当通信结束时,TCP通过四次挥手来断开连接,确保双方都能优雅地关闭连接。TCP头部开销较大,通常为20字节,而UDP头部开销较小,为8字节。

2025-01-09 00:34:53 550 1

原创 关联规则分析

重点讲一下置信度、提升度、失衡率和KULC;

2024-12-12 15:23:31 474

原创 matplotlib绘制堆叠条形图

上述是实例代码,已经将堆叠条形图简单封装成了一个类方便进行调用绘制;

2024-12-06 23:28:29 307

原创 简易的照片监控打印程序

当然需要解决一个问题就是,在②时我们利用了重命名的机制,而记录照片打印情况,就是用"文件名: 次数"的形式。因为打印文件夹中的文件会被自动移除,为了能保证拍出来的合格照片都被打印出来,我们需要记住打印到什么位置了。打印时再借助拍马,将需要打印的照片复制到打印文件夹中,拍马便会自动打印对应的图片,并将文件夹中的图片删除。按下"监测"按钮,按钮上的文字会变成"刷新",同时程序开始对监测区进行监测;①轮换存储卡时,你可能无法记得之前拷贝过哪些文件,为了保证拍出来的照片都保存下来,只能是对存储卡中拍摄出来的照片。

2024-11-24 16:44:30 605

原创 KMeans聚类

【代码】KMeans聚类。

2024-11-24 15:58:24 233

原创 一句话讲明Numpy广播原则

看了诸多关于Numpy广播原则的讲解,少数一针间血,还有不部分则越讲越绕;如果要我用一句话讲Numpy的广播原则,我会说;这是什么意思呢?从右往左,这是特别指代在看两个不同的Numpy.array的shape时的观察原则;我们知道,在Numpy中, 对于一个数组的shape, 例如shape=(1, 2, 3), 从右往左维度是依次递增的。所以,从右往左看,实际上就是在看两个Numpy数组的最低维度。"要么相同, 要么为1", 就是指从低维到高维,两个数组的维度大小必须要么相同,要么有一方为1;

2024-11-21 15:50:14 299

原创 运动汇 专业的比赛管理平台数据获取

需要注意上述代码中, 全局变量EVENT_YEAR是指代比赛年份,需要你自己修改成比赛的真实年份;此外,你需要修改读取的文件路径,在代码中是"./sports_meeting_res2024.txt", 里面是我复制下来的html元素内容;右键检查,我们会发现没有任何数据,只有当我们点开这些"第一单元"、"第二单元"等,数据才会加载出来;由于我们只需要分析这一个网页并获取其中的数据,所以我们可以简单的。最后,所有内容就会按照指定格式保存成csv文件!紧接着,直接利用浏览器!

2024-11-15 21:40:19 412

原创 Pyecharts中国省份中英对照

【代码】Pyecharts中国省份中英对照。

2024-11-05 09:32:18 234

原创 Pyecharts使用本地文件绘制美国地图

【代码】Pyecharts使用本地文件绘制美国地图。

2024-11-04 11:59:07 492

原创 数据分析中一段代码的优化过程

事实上,我在使用time模块测试了代码性能后发现,这段代码的性能甚至比原来更差,慢了大约0.03s左右。在单独拿出sum_confirmed的Country/Region列后,我逐个遍历这些国家名,并在sum_recovered中寻找对应,从而让sum_recovered的每一行数据都能和sum_confirmed对应上。这次的代码,显式的避免了for循环,使用pandas内置的reindex方法进行重新索引,同时使用numpy的nan_to_num对没有匹配上数据行形成的NaN值进行填补。

2024-11-03 15:46:03 253

原创 Pyecharts.Dataset.COUNTRIES

【代码】Pyecharts.Dataset.COUNTRIES。

2024-11-03 09:37:37 153

原创 数据清洗-总结

②不研究的列(这需要我们开始就明确自己的研究目的), 比如我们拿到一份公司招聘数据,字段中还含有HR的名字和联系电话,这些数据正常只有我们真的想去找公司才需要,如果只是做数据分析直接舍去就好,能显著减少数据加载时间和内存占用,何乐而不为呢?但是,通常情况下,哪怕待拆分的列有缺失值或异常值,也是可以通过正则正常拆分的。1、所谓拆,就是将信息成分复杂的字段进行拆分,如数据形如"3室2卫", 其杂糅了两个数字信息,可以拆分成两个单独的字段,使用uint8进行存储,即减少了存储占用,又能方便数据分析。

2024-10-25 15:31:34 346

原创 简记一段数据清洗项目经历

声明:该项目是从github上下载的,原项目地址在:这个数据分析项目选自其中的"Amoy_job", 即"10万条厦门招聘数据分析", 但是没有严格沿用里面的代码,绝大部分都是自己思考所做的数据清洗。注意,此处仅是数据清洗,尚未进入到真正的数据分析和可视化,得出结论这些阶段!

2024-10-17 21:40:39 876

原创 吐槽--pandas模块!!

self.data_frame中field_name字段真的有nan值,这段代码对self.data_frame本身不会有任何反应。这是由于这样的直接赋值语句有一个前提条件,就是赋值的pandas.Series对象的长度必须和pandas.DataFrame对象的行数一致;通过打印才发现,下面的代码会将data_frame中field_name中存在nan值的行直接舍去;直观上看,这句代码应该会将self.data_frame中field_name字段中的nan值去除掉, 事实上,如果。

2024-09-30 14:18:09 199

原创 简记Python多进程知识点

"""进程间数据共享在multiprocessing中一共提供了四种方法其中最常用的是①Queue和②Manager还有③[C->Value+Array]和④Pipe的组合③->严格遵循C语言对数据类型的定义,创建后的变量可以直接在进程间共享④两个队列组成的管道, 1.主进程 -> 子进程 的队列 / 2.子进程 -> 主进程 的队列队列由于其有序性,不会出现资源竞态问题,因此无需加锁"""文末有一个小项目,刚好使用了manager, 可以感受一下。

2024-09-20 12:29:43 787

原创 Python多线程掉坑简记

Python3.8后为builtin的写入操作加锁了,往后的写入操作都变成了原子性操作,不会出现读一半还没写入就被别人抢先一步写入的情况;有伙伴就要吃惊了,如果在Python中, builtin的写入数据是线程安全的,上述结果理应是1000才对啊!如果你是在Python3.8后的版本运行1-1修正后的代码,你会发现无论你怎么运行,number的值都为0!反之,如果你是在Python3.8之前的版本运行上述代码,number的值是不确定的,它甚至可以是负数!结果可想而知,a的值不再是预期的2, 而是1!

2024-09-19 13:37:00 481

原创 Python两种方式实现生产者-消费者模式

设置的超时时间短了,可能queue还有东西需要put,你就认定queue的任务已经全部完成了,过早结束了任务;但是注意,此时线程没有结束,程序依旧在运行,一方面是由于视频代码中使用的是while True死循环,使得程序不可能结束;可以在任务确定结束后,人为的给queue加入任务,从而正常的进入下一次循环,最后结束线程!对应到代码的85和87行;①如果我们只检测消费者队列即html_queue中放进去的任务是否全部完成,显然不可行,因为存在生产者还没生产完产品,消费者就已经将产品全部消费的情况;

2024-09-12 23:26:31 617

原创 SuperResolution

【代码】SuperResolution。

2024-04-04 22:43:49 226 1

原创 记录第一次使用pybind11:DLL Load fail

第一次用pybind11可谓是艰难险阻,主要是太多方面不懂所以碰壁重重,但最后还是靠着python的奇淫巧技挽回一成!简单展示一下基本信息:cpp源文件CMakeLists文件:网上讲pybind11用法的也不少了,但我是用MinW64进行cmake的,因此在我使用cmake时使用了了如下指令:具体使用cmake .. 还是cmake .要看你自己的CMakeLists相较于当前cmd所在目录,这也不是什么问题。

2024-03-26 22:02:26 1211 6

原创 记录C++简单链表插入实现

【代码】记录简单链表插入实现C++

2024-03-17 12:15:21 539 1

原创 C++代码实现简单的通讯录管理系统

中间加入大量函数,且在诸如查询函数,修改函数,删除函数等函数间建立了相对复杂的关系,譬如删除函数DeleteContactPerson依赖了SelectComtactPerson查询函数,而查询函数又依赖于检查函数CheckContactPerson和展示所有联系人的函数ShowAddressBooks。大量依赖关系主要是为了减少最终的代码量,但似乎代码量还是挺大的.jpg。该代码是我学习1周C++写出来的,诸多不完美之处还需后续改善。

2024-03-10 17:36:16 888 1

原创 VsCode插件配置的一个细节

我一直很纳闷,我在tasks.json中明明指明了编译文件要输出到code_exe这个目录下,但是使用快捷键输出编译文件却始终是在当前目录下输出,我一直百思不得其解,直到后来我意识到Code Runer的配置输出文件与tasks.json配置输出是不同的!我的VsCode下载了Code Runer插件,并在设置中使用了默认run in the terminal,可以使用快捷键Ctrl+Shift+N快速运行程序。接下来,按照我的配置来设置settings.json即可。

2024-03-05 20:40:06 470 1

原创 My程序备份

这里是我的垃圾站,谢谢

2024-03-04 12:20:59 392 1

原创 Selenium携带Cookies免密登录

仅用作笔记。

2024-01-20 23:36:26 421

原创 Selenium自动化

①WindowNotFoundError,浏览器自动强制关闭>>这是由于你切换了页面,如进入到了某个视频的详情页面,导致原窗口(douyin.com找不到了)此外,上述代码获取到的评论不包含回复评论,图片和表情包。②ElementNotFoundError,这个只能是你自己好好检查一下是否将第一条评论的xpath路径复制对了。运行下面代码,登录进抖音,然后在程序中回车,完成Cookie的获取。这种情况我也挺纳闷,可能你要降低一下视频评论的刷新速度?③没有获取到评论数据,报IndexError。

2024-01-19 13:30:43 1004 1

原创 便捷测试正则表达式

为了更好便捷的测试一段python中,一段正则表达式或一段XPath表达式是否正确,编写了一段小程序。代码还有很多值得优化的地方,但毕竟是个工具,够用就行。

2024-01-13 15:20:36 413 1

原创 python爬虫之ip代理

如果不是有短时间爬取巨量数据的需求,一般没必要使用代理服务器。毕竟可以通过随机睡眠降低对服务器的访问频次。同时,请不要使用我的url和Cookie!代理ip通常只能购买,免费的ip可用率极低。

2024-01-10 13:11:01 446

原创 爬虫小工具:请求头加引号

这个代码借鉴了一点别人的代码,但又在其基础上进行了一点小小的改良。

2024-01-03 12:40:03 429 1

原创 爬虫学习第二天

【代码】爬虫学习第二天。

2023-12-31 00:00:25 735 1

原创 批量重命名

【代码】tkinter小工具。

2023-12-17 10:38:31 289 1

大鱼吃小鱼游戏Python版无Pygame

①通过对贴图进行轮廓检测,以多边形轮廓为基础进行碰撞检测,鱼类的碰撞精度高; ②多重精心配音,从进食到获胜,均有对应音乐; ③设置精细,向外暴露多个接口(全局设置与会话设置)以调节游戏体验; ④排行榜系统,重复上百次游戏只为探究得分曲线,从而得到分段函数式的计分机制。排行合理,竞争带劲; ⑤优秀的源码保障。代码以面向对象的形式编写,思路清晰,所有类方法与变量都尽可能保证有type hint。可读性强,易于修改。 此为源码,在正式运行前请根据报错内容看好安装对应模块。依赖很少,不依赖Pygame! 纯Tkinter搭配少量第三方库编写。

2025-02-01

大鱼吃小鱼游戏,比较简略但还是有一定可玩性

很久之前作为新手时期用纯tkinter,无pygame写出来的大鱼吃小鱼游戏,后面简单加了配乐。代码写得一般,但至少思路还算清晰

2025-01-13

仅仅是被引用的一张小小的图片

2024-12-27

不建议下载,因为这个文件只是为了供我个人备份!!!!

超分辨率图像处理,仅是对开源项目:https://github.com/xinntao/Real-ESRGAN/的封装

2024-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除