- 博客(201)
- 收藏
- 关注
原创 windows系统下定时备份数据到远程ftp
最新的web网站老是被开发改出问题,为了能及时恢复,每天要备份下文件,写个批处理加入计划任务,批处理如下@echo offecho 开始更新数据......rem 格式化日期 rem date出来的日期是"2006-02-22 星期三",不能直接拿来使用,所以应该先格式化一下 rem 变成我们想要的。date:~0,4的意思是从0开始截取4个字符 set d=%date:~
2016-10-12 11:12:00 3753
原创 redis下高并发投票设计
最近闲来无事,研究了下redis,看过书籍之后,为了理解的更透彻,就实践写一个例子。先说写投票吧,具体的流程是用户可以发起投票,发起成功后,其他用户可以投票,首页显示话题标题,票数和时间等信息。我使用的redis设计了五个个表一个是文章表,保存话题的相关信息,一个评分表,一个话题被投票评分就增加,一个是时间表,用来后期按时间对话题进行排序,一个是投票表,用的是单ip限制,一个ip一天只能投
2016-10-11 11:06:36 6100
原创 go的for循环应该这么用
go中的循环有for和for range两种循环结构,for循环结构//Condition;在一个for循环代码块中,InitSimpleStatement(初始化语句)和PostSimpleStatement(步尾语句)两个部分必须均为简单语句,并且PostSimpleStatement不能为一个变量短声明语句。Condition必须为一个结果为布尔值的表达式(它被称为条件表达式)。所有这三个刚提到的部分都是可选的。和很多其它流行语言不同,在Go中上述三部分不能用小括号括在一起。
2024-03-25 11:51:47 447
原创 项目使用kkFileView预览问题
这个流程是文件的文件地址拼上预览服务器地址,app访问的过程中,首先访问预览服务器,预览服务器会解析fullfilename作为文件名,解析拼接的文件地址访问,下载文件到预览服务器,然后返回预览信息给app。这里预览服务器解析我们的文件地址应该是url_decode和base64_decode,那应该是文件地址编码过程中出现了特殊字符,造成解码过程出现问题,因此可能是我们原始文件地址有特殊字符或者在编码过程中会出现特殊字符。这个插件的预览很简单,只需要部署服务使用预览服务地址拼接自己的真实图片地址即可。
2024-03-23 15:58:30 893
原创 go文件操作看这一篇就够了
user := []User{{"小刘", "技术部", []string{"营销管理", "客服管理"}}, {"小王", "品牌部", []string{"品牌管理", "营销管理"}}}user := User{"小刘", "技术部", []string{"营销管理", "客服管理"}}fmt.Println("文件打开失败", err.Error())fmt.Println("文件打开失败", err.Error())fmt.Println("编码失败", err.Error())
2024-03-20 14:10:07 899
原创 go的数据类型看这一篇就够了
map 是一种特殊的数据结构,一种元素对(pair)的无序集合,pair 对应一个 key(索引)和一个 value(值),所以这个结构也称为关联数组或字典,这是一种能够快速寻找值的理想结构,给定 key,就可以迅速找到对应的 value。数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。通道像一个传送带或者队列,总是遵循先入先出(First In First Out)的规则,保证收发数据的顺序。结构体是由零个或多个任意类型的值聚合成的实体,每个值都可以称为结构体的成员。
2024-03-11 16:54:36 537
原创 PySide6实现证件照制作程序
要实现证件照制作,需要一个应用窗口,窗口里需要一个选择图片的按钮,选择图片需要展示图片在预览区。file_name, _ = QFileDialog.getOpenFileName(self, "选择图片", "", "Image Files (*.png *.jpg *.jpeg *.bmp)",file_name, _ = QFileDialog.getOpenFileName(self, "选择图片", "", "Image Files (*.png *.jpg *.jpeg *.bmp)",
2024-03-08 16:42:47 31
原创 PySide6实现按键精灵程序
在主窗口开始增加开始记录,结束记录和按键展示区,点击开始记录,调用事件过滤器,记录键盘按键内容到文本文件。print(f"无法打开文件 {self.filename} 进行写入")print(f"无法打开文件 {self.filename} 进行写入")print(f"无法打开文件 {self.filename} 进行写入")self.label.setText(f'按键: {key}')self.label.setText(f'按键: {key}')# 创建 QTextStream 对象用于写入文本。
2024-03-07 17:15:25 59
原创 PySide6进行账单表报统计程序
title_list = {'吃饭':20,'出行': 30,'缴费': 20,'服饰': 5,'娱乐': 25}# 创建条形图序列series【series只与QChart有关,而与待展示数据的种类无关,因此只需创建一个】# 未来将不支持的方法:chart.setAxisX(axis_x, bar_series)slice_go_out = QPieSlice('出行', 300)bar_set_expense = QBarSet('支出')bar_set_income = QBarSet('收入')
2024-03-06 15:39:39 115
原创 PyQt5实现学生管理系统(附完整代码)
self.right_folder_student_search_button = QtWidgets.QPushButton(qtawesome.icon('fa.user-circle', color='balck'), "查询")self.left_s_course_search_button = QtWidgets.QPushButton(qtawesome.icon('fa.line-chart', color='white'), "学生课程")
2024-03-06 13:51:51 600
原创 PySide6实现socket通信程序
self.logTextEdit.append("服务器: {}".format(line))self.logTextEdit.append("服务器: {}".format(line))self.gotMessage.emit("收到消息: {}".format(line))self.logTextEdit.append("客户端: {}".format(msg))self.logTextEdit.append("客户端: {}".format(msg))# 创建 QTcpServer 对象。
2024-03-05 11:40:52 154
原创 PySide6实现页面导航布局
QFormLayout:表单布局管理器,通常用于创建类似HTML表单的布局,包含标签和输入字段。layout.addWidget(button1, 0, 0) # 行0, 列0。layout.addWidget(button2, 0, 1) # 行0, 列1。layout.addWidget(button3, 1, 0) # 行1, 列0。layout.addWidget(button4, 1, 1) # 行1, 列1。QGridLayout:网格布局管理器,将子控件放置在一个二维的网格中。
2024-03-05 10:06:20 56
原创 PySide6实现上传附件带进度条
PySide6中实现文件上传功能并附带一个进度条,你可以使用QFileDialog来选择文件,然后使用QNetworkAccessManager来上传文件,并通过QNetworkReply对象来追踪上传的进度。url = QUrl('http://example.com/upload') # 替换为你的上传URL。url = QUrl('http://example.com/upload') # 替换为你的上传URL。# 连接信号以追踪上传进度。# 打开文件对话框选择文件。# 打开文件对话框选择文件。
2024-03-04 17:42:34 31
原创 PySide6实现注册,登录流程
self.username_label = QLabel("用户名:")self.username_label = QLabel("用户名:")self.username_label = QLabel("用户名:")self.password_label = QLabel("密码:")self.password_label = QLabel("密码:")self.password_label = QLabel("密码:")self.password_label = QLabel("密码:")
2024-03-04 16:30:35 150
原创 PySide6实现word转化pdf
self.file_display.setText("选择文件:")self.file_display.setText("选择文件:")self.file_display.append("转换完成:")self.file_display.append("转换完成:")self.button = QPushButton("选择文件", self)self.button = QPushButton("选择文件", self)self.save_button = QPushButton("转化")
2024-03-01 16:38:21 479
原创 PySide6实现超市商品结算程序
self.products_list = {"苹果": 1, "香蕉": 2, "橙子": 1, "牛奶": 7, "面包": 1,self.products_list = {"苹果": 1, "香蕉": 2, "橙子": 1, "牛奶": 7, "面包": 1,"鸡蛋": 3, "火腿": 5, "可乐": 2, "薯片": 7, "洗发水": 15}"鸡蛋": 3, "火腿": 5, "可乐": 2, "薯片": 7, "洗发水": 15}self.priceLabel = QLabel("单价:")
2024-03-01 10:59:46 385
原创 PySide6实现备忘录程序
要创建一个具有左右布局的备忘录应用界面,其中左侧是备忘录列表,右侧是输入框和添加,保存按钮,以使用QSplitter来分割窗口,并使用QVBoxLayout和QHBoxLayout来组织右侧的部件。在右侧输入框填写备忘内容,点击添加按钮,保存内容到左侧备忘录列表中,再次添加,换行保存。self.memo_input.setFixedSize(200, 100) # 设置 QTextEdit 的固定大小为 400x200 像素。self.save_button = QPushButton('保存备忘录')
2024-02-29 15:34:34 111
原创 PySide6实现简易计算器
然后,我们创建了一个网格布局(QGridLayout)来放置按钮,并为每个按钮定义了文本和在网格中的位置。在initUI方法中,我们设置了窗口的标题和大小,并创建了一个垂直布局(QVBoxLayout)作为主布局。如果是等号按钮,我们尝试计算显示区域中的表达式并将其结果显示在显示区域中。如果是其他按钮,我们简单地将按钮的文本追加到显示区域的文本中。布局中包含一些数字按钮、运算符按钮和一个等号按钮,以及一个显示区域来展示输入和结果。self.display.setText("错误")# 创建按钮网格布局。
2024-02-29 10:44:19 265
原创 PySide6实现抽奖程序
当点击停止按钮时,我们停止定时器并启用开始按钮、禁用停止按钮。self.prizes = ["奖品A", "奖品B", "奖品C", "奖品D", "奖品E"] # 奖品列表。self.prizes = ["奖品A", "奖品B", "奖品C", "奖品D", "奖品E"] # 奖品列表。self.people = ["张三", "李四", "王五", "赵六", "孙七"] # 人员列表。self.people = ["张三", "李四", "王五", "赵六", "孙七"] # 人员列表。
2024-02-28 21:12:34 142
原创 PySide6实现课堂点名程序
新建一个窗口,展在窗口界面添加开始和停止按钮的QPushButton,和展示正在显示的人名QLabel,点击开始时随机显示人名列表中的一个名字并且展示在QLabel中,点击停止时停止获取人名。self.names = ["张三", "李四", "王五", "赵六", "孙七"] # 人名列表。self.names = ["张三", "李四", "王五", "赵六", "孙七"] # 人名列表。self.label.setText(f"正在点名: {self.current_name}")
2024-02-28 17:18:17 26
原创 python opencv实现图片清晰度增强
直方图均衡化:直方图均衡化是一种增强图像对比度的方法,特别是当图像的有用数据的对比度接近背景的对比度时。OpenCV中的cv2.equalizeHist()函数可以实现直方图均衡化。
2024-02-27 17:10:17 481
原创 python opencv鼠标操作图片
鼠标操作函数:你可以使用 cv2.setMouseCallback() 函数来为一个特定的窗口设置一个鼠标事件回调函数。这样,每当鼠标在该窗口上执行某种动作(如移动、点击、双击等)时,该回调函数就会被调用,并且会传递一些参数,包括事件类型、鼠标位置等。cv2.EVENT_MOUSEWHEEL 是 OpenCV 中的一个事件标识符,用于标识鼠标滚轮事件。当你在一个由 OpenCV 创建的窗口中滚动鼠标滚轮时,该事件会被触发。
2024-02-26 17:22:13 327
原创 python opencv识别身份证的文字信息
aa = cv2.drawContours(img, [box], -1, (0, 255, 0), 3) # 找出车牌的位置。1:图片处理,对图片进行灰度,二值化,膨胀和腐蚀便于以后轮廓处理。2: 循环处理轮廓,刨除不符合的轮廓信息,留下文字相关的信息;# 2. 形态学变换的预处理,得到可以查找矩形的图片。2:获取轮廓信息,循环处理得到处理好的轮廓,便于ocr识别。1:处理身份证图片,获取文字相关的轮廓信息,并且提取;# 找到最小的矩形,该矩形可能有方向。# 筛选那些太细的矩形,留下扁的。
2024-02-24 10:44:08 273
原创 python opencv实现身份证号码识别
templateImg = cv2.imread("D://test_python/open_cv/sf.jpeg") # template.jpg 即为模板文件,上面那张0-9数字图片。num = np.argmax(scores) # np.argmax():获取array的某一个维度中数值最大的那个元素的索引,索引即为对应数字。pidArea.append((x, y, w, h)) # 身份证号区域长宽比比较明显,算是一个比较明显的特征。# 先黑帽处理,移除干扰项,再二值化处理(自动阈值)
2024-02-23 15:36:51 479
原创 python opencv绘制图像轮廓
然后,你使用Canny边缘检测算法来检测图像中的边缘,并基于这些边缘找到轮廓。接着,你遍历每个轮廓,并为每个轮廓计算凸包(convex hull),最后将凸包绘制在原始图像上。在这段代码中,你使用OpenCV库读取了一个灰度图像,然后对该图像进行了二值化处理。接下来,你计算了二值化图像的矩特征,并使用这些矩特征计算了Hu矩。查找边缘检测后的图像中的轮廓。使用OpenCV库来读取一张图像,将其转换为灰度图像,然后进行边缘检测,查找轮廓,并在原始图像上绘制这些轮廓。在图像上绘制最小外接圆的轮廓。
2024-02-22 15:44:44 215
原创 python opencv实现车牌识别
aa = cv2.drawContours(value2, [box], -1, (0, 255, 0), 3) # 找出车牌的位置。ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) # 图像二值化。img_edge2 = cv2.morphologyEx(img_edge1, cv2.MORPH_OPEN, kernel1) # 开运算。1:对车牌进行HSV颜色空间转化,便于更好的进行颜色分隔和轮廓检测,找到蓝色车牌区域。
2024-02-22 11:04:56 603
原创 python opencv图像模糊
在OpenCV中,模糊图片或进行图像平滑处理时常用的方法包括以下几种:均值滤波 (Blurring): 均值滤波是一种简单的平滑方法,它通过对图像中每个像素的邻域内像素值进行平均来计算新的像素值。在OpenCV中,可以使用cv2.blur()或cv2.boxFilter()函数来实现均值滤波。这种方法对于去除图像中的随机噪声是有效的,但可能会导致图像变得稍微模糊。
2024-02-21 14:32:03 531
原创 python opencv比较图片相似度
三直方图算法(Three-Channel Histogram)通常指的是对图像的三个颜色通道(红色、绿色、蓝色)分别计算直方图,并通过比较这些直方图来评估图像的相似度。在OpenCV中,如果你想比较两幅图像的相似度,并且只关心单通道(例如灰度图像)的直方图相似度,你可以计算每幅图像的灰度直方图,并使用直方图比较的方法(如交叉相关、卡方距离、相关性等)来确定相似度。它首先将图像转化为灰度图像,然后计算图像的均值,接着将每个像素的灰度值与均值进行比较,生成一个64位的哈希值。# 计算HSV图像的直方图。
2024-02-21 10:13:17 840
原创 python Opencv 中绘制图
在Python的OpenCV库中,可以使用cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText()等函数来在图像上绘制图形。
2024-02-20 15:58:07 718
原创 python opencv学习路线
了解OpenCV的模块组成,掌握每个模块的核心功能。OpenCV包含了许多模块,如图像处理、特征检测、视频分析等。整理每个模块的核心功能,并完成第一个 OpenCV 案例,读取显示图片。
2024-02-20 15:05:33 454
原创 opencv进行人脸识别
传入人脸特征数据,返回识别出的人脸对象。# minNeighbors表示构成检测目标的相邻矩形的最小个数(默认为3个)。# scaleFactor表示在前后两次相继的扫描中,搜索窗口的比例系数。#因为在识别人脸的时候,黑白和彩色不影响识别,所以为了运行速度更快,可以将识别时候的视频转为黑白。我们这里仅仅识别图片和视频中的人脸信息,可以准备一张单人脸图片,一张多人脸图片,一个包含人物信息的视频。#由于原视频过大,所以将视频重新调整一下大小,使用dInfo接收返回值。# 返回匹配的人脸区域。
2024-02-18 11:49:04 1131 1
原创 OpenCV介绍和使用
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,广泛应用于图像处理、计算机视觉、机器学习等领域。它包含了大量的函数和工具,可以用于图像读取、显示、处理、特征提取、目标检测等任务。OpenCV最初是由Intel公司开发的,现在由Willow Garage提供支持。它支持多种编程语言,包括C++、Python、Java和MATLAB等,并可以在多种操作系统上运行,如Windows、Linux、Android和MacOS等。
2024-02-18 10:06:44 797
原创 django定时任务(django-crontab)
在你的Django应用的apps.py文件中,你可以定义cron作业。通常,你会在AppConfig类中添加一个crontab方法。# 每天凌晨1点运行一个作业hour='1'在这个例子中,path.to.my_command应该是一个指向你的Django管理命令的路径,该命令将作为cron作业运行。
2024-02-17 11:30:24 1598
原创 django中事务和锁
在Django中,事务和锁是数据库操作中的两个重要概念,它们用于确保数据的完整性和一致性。下面我将分别解释这两个概念在Django中的应用。
2024-02-17 10:23:27 1311
原创 django-filter使用
在 Django 中,django-filter 是一个第三方库,它提供了易于使用和灵活的过滤功能,用于 Django 的视图和 API。使用 django-filter,你可以轻松地为你的模型创建查询集过滤器,并将其应用于你的视图和 API 端点,从而为用户提供强大的搜索和过滤功能。在你的 Django 应用中,创建一个新的 Python 文件(例如 filters.py),然后定义一个继承自 django_filters.FilterSet 的类。在你的视图中,你可以使用创建的过滤器类来过滤查询集。
2024-02-15 22:41:03 635
原创 django admin页面美化
在你的 Django 项目的 settings.py 文件中,确保 STATICFILES_DIRS 包含了你的静态文件夹的路径。通过这些方法,你可以大大改善 Django Admin 页面的外观和感觉,使其更加符合你的项目需求和品牌风格。性能:尽量减少加载的 CSS 和 JavaScript 文件的大小,以提高 Admin 页面的加载速度。这是最简单的方法,你可以通过添加自定义 CSS 文件来覆盖 Django Admin 的默认样式。如果你想要更深入的定制,你可以直接修改 Admin 的模板。
2024-02-15 22:10:54 972
原创 django中的中间件
在Django中,中间件(Middleware)是一个轻量级的、底层的“插件”系统,用于全局地修改Django的输入或输出。Django的中间件提供了一种方便的方式来处理一些全局的任务,而不需要在每个视图中重复相同的代码。因此,列表中的第一个中间件首先执行process_request,然后是下一个,依此类推。在响应时,process_response方法则是反向执行的,即列表中的最后一个中间件首先执行。在Django项目中,你可以定义自己的中间件,也可以使用Django提供的默认中间件。
2024-02-15 08:30:34 1177
原创 django中admin页面汉化
django-admin-l10n提供了许多语言的翻译文件,你需要复制简体中文的翻译文件到你的项目中。务必参考Django的官方文档和django-admin-l10n的文档以获取最新和最准确的指导。在你的settings.py文件中,找到LANGUAGE_CODE和TIME_ZONE设置项,并确保LANGUAGE_CODE设置为'zh-hans'以支持简体中文。如果你还没有这个目录结构,你需要手动创建。django-admin-l10n是一个第三方应用,它提供了Django admin的本地化支持。
2024-02-14 12:10:50 1202
原创 django中配置使用websocket
Django 默认情况下并不支持 WebSocket,但你可以通过集成第三方库如 channels 来实现 WebSocket 功能。channels 是一个 Django 应用,它提供了对 WebSocket、HTTP2 和其他协议的支持。在前端,你可以使用原生的 WebSocket API 或其他库(如 socket.io)来连接你的 WebSocket 服务。在你的应用中创建一个名为 consumers.py 的文件,并添加一个Consumer。# 当从客户端接收到消息时,此方法会被调用。
2024-02-14 08:11:34 1042
原创 django中查询优化
在可能的情况下,使用annotate()和aggregate()方法代替count(*),因为它们可以在单个查询中完成更多的工作。当你在循环中查询关联对象时,如果不使用prefetch_related,可能会导致大量的数据库查询(每个循环迭代一个查询)。在Django中,查询优化是一个重要的主题,因为不正确的查询可能会导致性能问题,尤其是在处理大量数据时。prefetch_related用于优化多对多和反向多对一关系的查询,它通过执行额外的查询,然后在Python级别上将结果“预取”到相关对象。
2024-02-13 21:34:00 1351
PySide6实现word转化pdf
2024-03-01
PySide6实现超市商品结算程序
2024-03-01
PySide6实现的备忘录程序
2024-02-29
PySide6实现的课堂点名程序
2024-02-29
PySide6实现抽奖程序
2024-02-29
python实现获取链家租房信息
2023-12-18
做一个CRM系统,怎么实现系统所有模块字段是动态配置的自定义字段
2024-01-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人