当前位置: 首页 > news >正文

10个常用python自动化脚本

大家好,Python凭借其简单和通用性,能够为解决每天重复同样的工作提供最佳方案。本文将探索10个Python脚本,这些脚本可以帮助自动化完成任务,提高工作效率。无论是开发者、数据分析师还是仅仅想简化工作流程的普通用户,这些脚本都能提供帮助。

1. 自动化文件管理

1.1 排序目录中的文件

# Python脚本,用于根据文件扩展名对目录中的文件进行排序
import os
from shutil import movedef sort_files(directory_path):for filename in os.listdir(directory_path):if os.path.isfile(os.path.join(directory_path, filename)):file_extension = filename.split('.')[-1]destination_directory = os.path.join(directory_path, file_extension)  if not os.path.exists(destination_directory):os.makedirs(destination_directory)move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename))

根据文件扩展名将文件分类到子目录中,来组织目录中的文件。它识别文件扩展名并将文件移动到适当的子目录中,这对于整理下载文件夹或组织特定项目的文件非常有用。 

1.2 删除空文件夹

# Python脚本,用于删除目录中的空文件夹
import osdef remove_empty_folders(directory_path):for root, dirs, files in os.walk(directory_path, topdown=False):for folder in dirs:folder_path = os.path.join(root, folder)if not os.listdir(folder_path):os.rmdir(folder_path)

脚本用于在指定目录中搜索和删除空文件夹,维护干净整洁的文件夹结构,特别是在处理大量数据集时。

1.3 批量重命名文件

# Python脚本,用于批量重命名目录中的文件
import osdef rename_files(directory_path, old_name, new_name):for filename in os.listdir(directory_path):if old_name in filename:new_filename = filename.replace(old_name, new_name)os.rename(os.path.join(directory_path, filename), os.path.join(directory_path, new_filename))

脚本允许同时批量重命名目录中的多个文件。它以旧名称和新名称作为输入,并将所有匹配的文件中的旧名称替换为新名称。

2. 使用Python进行网页抓取

2.1 从网站中提取数据

# 使用Python进行网页抓取的脚本,以从网站中提取数据
import requests
from bs4 import BeautifulSoupdef scrape_data(url):response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')# 在此处编写代码,从网站中提取相关数据

脚本利用requests和BeautifulSoup库来抓取网站的数据。它获取网页内容并使用BeautifulSoup解析HTML,可以自定义该脚本以提取诸如标题、产品信息或价格等特定数据。 

2.2 批量下载图片

# Python脚本,用于从网站批量下载图片
import requestsdef download_images(url, save_directory):response = requests.get(url)if response.status_code == 200:images = response.json() # 假设API返回图片URL的JSON数组for index, image_url in enumerate(images):image_response = requests.get(image_url)if image_response.status_code == 200:with open(f"{save_directory}/image_{index}.jpg", "wb") as f:f.write(image_response.content)

脚本旨在从网站批量下载图片,它假设该网站提供一个返回图片URL数组的JSON API。该脚本然后遍历这些URL并下载图片,将其保存到指定的目录中。 

2.3 自动提交表单

# Python脚本,用于自动在网站上提交表单
import requestsdef submit_form(url, form_data):response = requests.post(url, data=form_data)if response.status_code == 200:# 在此处编写代码以处理表单提交后的响应

脚本使用POST请求以表单数据自动在网站上提交表单,可以通过提供URL和要提交的表单数据来自定义该脚本。

3. 文本处理和操作

3.1 统计文本文件中的单词数

# Python脚本,用于统计文本文件中的单词数def count_words(file_path):with open(file_path, 'r') as f:text = f.read()word_count = len(text.split())return word_count

脚本读取文本文件并统计其中包含的单词数,可以用于快速分析文本文档的内容,或跟踪写作项目中的字数。

3.2 查找和替换文本

# Python脚本,用于在文件中查找和替换文本def find_replace(file_path, search_text, replace_text):with open(file_path, 'r') as f:text = f.read()modified_text = text.replace(search_text, replace_text)with open(file_path, 'w') as f:    f.write(modified_text)

脚本在文件中搜索特定文本并将其替换为所需文本,它对批量替换大型文本文件中的某些短语或更正错误非常有用。

3.3 生成随机文本

# Python脚本,用于生成随机文本import random
import stringdef generate_random_text(length):letters = string.ascii_letters + string.digits + string.punctuation  random_text = ''.join(random.choice(letters) for i in range(length))return random_text

脚本生成指定长度的随机文本,可用于测试和模拟目的,甚至作为创作的随机内容源。

4. 自动发送电子邮件

4.1 发送个性化电子邮件

# Python脚本,用于向收件人列表发送个性化电子邮件import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartdef send_personalized_email(sender_email, sender_password, recipients, subject, body):server = smtplib.SMTP('smtp.gmail.com', 587)server.starttls()server.login(sender_email, sender_password)for recipient_email in recipients:message = MIMEMultipart()  message['From'] = sender_emailmessage['To'] = recipient_emailmessage['Subject'] = subject  message.attach(MIMEText(body, 'plain'))server.sendmail(sender_email, recipient_email, message.as_string())server.quit()

脚本能够向收件人列表发送个性化电子邮件,可以自定义发件人的电子邮件、密码、主题、正文以及收件人列表。请注意,出于安全考虑,使用Gmail时应使用应用专用密码。

4.2 发送带附件的电子邮件

# Python脚本,用于发送带有附件的电子邮件import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encodersdef send_email_with_attachment(sender_email, sender_password, recipient_email, subject, body, file_path):server = smtplib.SMTP('smtp.gmail.com', 587)server.starttls()server.login(sender_email, sender_password)message = MIMEMultipart()message['From'] = sender_emailmessage['To'] = recipient_emailmessage['Subject'] = subjectmessage.attach(MIMEText(body, 'plain'))with open(file_path, "rb") as attachment:part = MIMEBase('application', 'octet-stream')part.set_payload(attachment.read())encoders.encode_base64(part)part.add_header('Content-Disposition', f"attachment; filename= {file_path}")message.attach(part)server.sendmail(sender_email, recipient_email, message.as_string())server.quit()

脚本允许发送带有附件的电子邮件,只需提供发件人的电子邮件、密码、收件人的电子邮件、主题、正文以及要附加的文件的路径即可。

4.3 自动电子邮件提醒

# Python脚本,用于发送自动电子邮件提醒import smtplib  
from email.mime.text import MIMEText
from datetime import datetime, timedeltadef send_reminder_email(sender_email, sender_password, recipient_email, subject, body, reminder_date):server = smtplib.SMTP('smtp.gmail.com', 587)server.starttls()server.login(sender_email, sender_password)now = datetime.now()reminder_date = datetime.strptime(reminder_date, '%Y-%m-%d')if now.date() == reminder_date.date():message = MIMEText(body, 'plain')message['From'] = sender_email  message['To'] = recipient_emailmessage['Subject'] = subjectserver.sendmail(sender_email, recipient_email, message.as_string())server.quit()

脚本基于指定日期发送自动电子邮件提醒,对设置重要任务或事件的提醒非常有用,确保不会错过最后期限。

5. 自动化Excel电子表格

5.1 读写Excel

# Python脚本,用于读写Excel电子表格中的数据import pandas as pddef read_excel(file_path):df = pd.read_excel(file_path)return dfdef write_to_excel(data, file_path):df = pd.DataFrame(data)df.to_excel(file_path, index=False) 

脚本使用pandas库从Excel电子表格中读取数据并将数据写入新的Excel文件。它允许以编程方式处理Excel文件,从而提高数据操作和分析的效率。

5.2 数据分析和可视化

# 使用pandas和matplotlib进行数据分析和可视化的Python脚本import pandas as pd
import matplotlib.pyplot as pltdef analyze_and_visualize_data(data):# 在此处编写数据分析和可视化的代码pass

脚本使用pandas和matplotlib库执行数据分析和可视化,能够探索数据集、洞察数据以及创建数据的可视化表示。

5.3 合并多个表格

# Python脚本,用于将多个Excel表合并为一个表import pandas as pddef merge_sheets(file_path, output_file_path):xls = pd.ExcelFile(file_path)df = pd.DataFrame()for sheet_name in xls.sheet_names:sheet_df = pd.read_excel(xls, sheet_name)df = df.append(sheet_df)df.to_excel(output_file_path, index=False)

脚本合并Excel文件中多个表的数据到一个表中,当数据分布在不同的表中,但想进行汇总以进行进一步分析时,会很方便。

6. 与数据库交互

6.1 连接数据库

# Python脚本,用于连接数据库并执行查询import sqlite3def connect_to_database(database_path):connection = sqlite3.connect(database_path)return connectiondef execute_query(connection, query):cursor = connection.cursor()cursor.execute(query)result = cursor.fetchall()return result

脚本允许连接SQLite数据库并执行查询,使用适当的Python数据库驱动程序,可以将其修改为使用其他数据库管理系统(如MySQL或PostgreSQL)。

6.2 执行SQL查询

# Python脚本,用于在数据库上执行SQL查询import sqlite3def execute_query(connection, query):cursor = connection.cursor()cursor.execute(query)  result = cursor.fetchall()return result

脚本是一个通用函数,用于在数据库上执行SQL查询。可以将查询作为参数传递给该函数以及数据库连接对象,它将返回查询的结果。

6.3 数据备份和恢复

import shutildef backup_database(database_path, backup_directory):shutil.copy(database_path, backup_directory) def restore_database(backup_path, database_directory):shutil.copy(backup_path, database_directory)  

脚本允许创建数据库的备份并在需要时进行恢复,是防止宝贵数据意外丢失的预防措施。

7. 自动化系统任务

7.1 管理系统进程

# Python脚本,用于管理系统进程import psutildef get_running_processes():return [p.info for p in psutil.process_iter(['pid', 'name', 'username'])]def kill_process_by_name(process_name):for p in psutil.process_iter(['pid', 'name', 'username']):if p.info['name'] == process_name:p.kill()

脚本使用psutil库来管理系统进程,允许检索运行进程的列表并通过名称终止指定的进程。

7.2 使用Cron安排任务

# Python脚本,用于使用cron语法安排任务from crontab import CronTabdef schedule_task(command, schedule):cron = CronTab(user=True)job = cron.new(command=command)job.setall(schedule)cron.write()

脚本利用crontab库使用cron语法来调度任务,支持以正则间隔或特定时间自动执行特定命令。

7.3 监控磁盘空间

# Python脚本,用于监控磁盘空间并在空间不足时发送警告import psutildef check_disk_space(minimum_threshold_gb):disk = psutil.disk_usage('/')free_space_gb = disk.free / (2**30) # 将字节转换为GBif free_space_gb < minimum_threshold_gb:# 在此处编写代码以发送警告(电子邮件、通知等)pass

脚本监视系统上的可用磁盘空间,如果低于指定阈值则发送警告,这对于磁盘空间的积极管理和避免因磁盘空间不足导致的数据丢失非常有用。

8. 网络自动化

8.1 检查网站状态

# Python脚本,用于检查网站状态import requestsdef check_website_status(url):response = requests.get(url)if response.status_code == 200:# 在此处编写代码以处理成功的响应else:# 在此处编写代码以处理不成功的响应

脚本通过向提供的URL发送HTTP GET请求来检查网站的状态,有助于监控网站的可用性及其响应代码。

8.2 自动化FTP传输

# Python脚本,用于自动化FTP文件传输from ftplib import FTP  def ftp_file_transfer(host, username, password, local_file_path, remote_file_path):with FTP(host) as ftp:ftp.login(user=username, passwd=password)with open(local_file_path, 'rb') as f:ftp.storbinary(f'STOR {remote_file_path}', f)

脚本使用FTP协议自动化文件传输,连接到FTP服务器,使用提供的凭据登录,并将本地文件上传到指定的远程位置。

8.3 网络设备配置

# Python脚本,用于自动化网络设备配置from netmiko import ConnectHandlerdef configure_network_device(host, username, password, configuration_commands):device = {'device_type': 'cisco_ios',  'host': host,'username': username,'password': password,}with ConnectHandler(device) as net_connect:net_connect.send_config_set(configuration_commands)

脚本使用netmiko库自动配置网络设备,如思科路由器和交换机,可以提供一系列配置命令,脚本将在目标设备上执行它们。

9. 数据清理和转换

9.1 从数据中删除重复项

# Python脚本,用于从数据中删除重复项import pandas as pddef remove_duplicates(data_frame):cleaned_data = data_frame.drop_duplicates()return cleaned_data

脚本使用pandas从数据集中删除重复行,这是确保数据完整性和提高数据分析的简单有效的方法。

9.2 数据规范化

# 数据规范化的Python脚本import pandas as pddef normalize_data(data_frame):normalized_data = (data_frame - data_frame.min()) / (data_frame.max() - data_frame.min())return normalized_data

脚本使用最小-最大规范化技术对数据进行规范化,将数据集中的值缩放到0到1范围内,使比较不同特征更容易。

9.3 处理缺失值

# Python脚本,用于处理数据中的缺失值import pandas as pddef handle_missing_values(data_frame):filled_data = data_frame.fillna(method='ffill')return filled_data

脚本使用pandas处理数据集中的缺失值,使用向前填充方法用前一个非缺失值填充缺失值。

10. 自动化PDF操作

10.1 从PDF中提取文本

# Python脚本,用于从PDF中提取文本import PyPDF2def extract_text_from_pdf(file_path):with open(file_path, 'rb') as f:pdf_reader = PyPDF2.PdfFileReader(f)text = ''for page_num in range(pdf_reader.numPages):page = pdf_reader.getPage(page_num)text += page.extractText()return text

脚本使用PyPDF2库从PDF文件中提取文本,读取PDF的每一页并将提取的文本编译成一个字符串。

10.2 合并多个PDF

# Python脚本,用于将多个PDF合并为一个PDFimport PyPDF2def merge_pdfs(input_paths, output_path):pdf_merger = PyPDF2.PdfMerger()for path in input_paths:with open(path, 'rb') as f: pdf_merger.append(f)with open(output_path, 'wb') as f:pdf_merger.write(f)

脚本将多个PDF文件合并为一个PDF文档,这对于合并独立的PDF报告、演示文稿或其他文档到一个连贯的文件很有用。

10.3 添加密码保护

# Python脚本,用于为PDF添加密码保护import PyPDF2def add_password_protection(input_path, output_path, password):with open(input_path, 'rb') as f:pdf_reader = PyPDF2.PdfFileReader(f)pdf_writer = PyPDF2.PdfFileWriter()for page_num in range(pdf_reader.numPages):page = pdf_reader.getPage(page_num)pdf_writer.addPage(page)pdf_writer.encrypt(password)with open(output_path, 'wb') as output_file:pdf_writer.write(output_file)

脚本为PDF文件添加密码保护,使用密码加密PDF,确保只有那些知道正确密码的人才能访问内容。

综上所述。本文探索了不同领域的10个Python脚本,这些脚本可以完成自动化过程。从网页抓取和网络自动化到机器学习和物联网设备控制,Python的通用性允许高效地自动化广泛的过程。

自动化不仅可以节省时间和精力,还可以减少错误的风险,提高整体效率。通过自定义和扩展这些脚本,可以创建定制的自动化解决方案以满足特定需求。

相关文章:

10个常用python自动化脚本

大家好&#xff0c;Python凭借其简单和通用性&#xff0c;能够为解决每天重复同样的工作提供最佳方案。本文将探索10个Python脚本&#xff0c;这些脚本可以帮助自动化完成任务&#xff0c;提高工作效率。无论是开发者、数据分析师还是仅仅想简化工作流程的普通用户&#xff0c;…...

C++中函数的默认参数(缺省参数)

一、函数默认参数的概念 在函数声明时&#xff0c;预先对函数参数进行赋值&#xff0c;该参数即为函数的默认参数&#xff0c;也叫缺省参数。 如下函数func1包含默认参数&#xff0c;若调用函数func1时没有给函数传入实参&#xff0c;则默认实参为10086 void func1(int a 1…...

在线扒站网PHP源码-在线扒站工具网站源码

源码介绍 这是一款在线的网站模板下载程序&#xff0c;也就是我们常说的扒站工具&#xff0c;利用它我们可以很轻松的将别人的网站模板样式下载下来&#xff0c;这样就可以大大提高我们编写前端的速度了&#xff01;注&#xff1a;扒取的任何站点不得用于商业、违法用途&#…...

vue+elementUI el-select 中 没有加clearable出现一个或者多个×清除图标问题

1、现象&#xff1a;下方截图多清除图标了 2、在全局common.scss文件中加一个下方的全局样式noClear 3、在多清除图标的组件上层div加noClear样式 4、清除图标去除成功...

【Python从入门到进阶】47、Scrapy Shell的了解与应用

接上篇《46、58同城Scrapy项目案例介绍》 上一篇我们学习了58同城的Scrapy项目案例&#xff0c;并结合实际再次了项目结构以及代码逻辑的用法。本篇我们来学习Scrapy的一个终端命令行工具Scrapy Shell&#xff0c;并了解它是如何帮助我们更好的调试爬虫程序的。 一、Scrapy Sh…...

【ARM 嵌入式 编译系列 2.2 -- GCC 编译参数学习 assembler-with-cpp 使用介绍】

请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】 文章目录 GCC 编译选项 assembler-with-cpp GCC 编译选项 assembler-with-cpp 在 rt-thread 的编译脚本中经常会看到下面编译参数&#xff1a; AFLAGS -c DEVICE -x assembler-with-cpp -Wa,-mimplicit-itthumb a…...

深入理解java对象的内存布局

概述&#xff1a; 在HotSpot虚拟机里&#xff0c;对象在堆内存中的存储布局可以划分为三个部分&#xff1a;对象头&#xff08;Header&#xff09;、实例数据&#xff08;Instance Data&#xff09;和对齐填充&#xff08;Padding&#xff09;。 在HotSpot虚拟机里&#xff0c;…...

MetaGPT中提到的SOP

MetaGPT框架中的提及的SOP概念指的是什么&#xff0c;有什么优点和缺点&#xff0c;为什么要使用SOP? 在MetaGPT框架中&#xff0c;SOP&#xff08;Set of Procedures&#xff09;指的是一套标准化的流程和步骤&#xff0c;用于指导模型完成特定任务。SOP可以帮助模型更好地理…...

第15届蓝桥杯嵌入式省赛准备第三天总结笔记(使用STM32cubeMX创建hal库工程+串口接收发送)

因为我是自己搞得板子&#xff0c;原本的下程序和串口1有问题&#xff0c;所以我用的是串口2&#xff0c;用的PA2和PA3 一&#xff0c;使用CubeMX配置串口 选择A开头的这个是异步通信。 配置串口参数&#xff0c;往届的题基本用的9600波特率&#xff0c;所以我这里设置为9600…...

centos安装redis,但是启动redis-server /home/redis/conf/redis7000.conf卡住,怎么解决

如果你在启动 Redis 服务器时发现过程卡住&#xff0c;这可能是由于几种不同的原因。下面是一些可能导致这种情况的原因以及相应的解决方法&#xff1a; 1. 后台启动 Redis 默认在前台运行。如果你在命令行启动 Redis 并且没有指定它在后台运行&#xff0c;它将在前台运行&am…...

开发实践6_project

要求&#xff1a; ① 页面写入超链接&#xff0c;获取所有数据item&#xff0c;显示在另一个页面&#xff0c;1min内&#xff0c;即使数据有变化&#xff0c;页面内容不变&#xff0c;1min后点击超链接可获取最新信息&#xff1b; ② 使用middleware完成用户请求路径判断 &am…...

HCIP----MGRE实验

实验要求&#xff1a; 第一步&#xff0c;基本的IP地址配置 R1&#xff1a; [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 #配置PC的网关 [R1]int Serial 4/0/0 [R1-Serial4/0/0]link-protocol hdlc #R1和R2之间采用hdlc封装 [R1-S…...

STM32标准库开发——PWM驱动代码

PWM驱动初始化代码 使能定时器二时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);设置定时器时钟源 TIM_InternalClockConfig(TIM2);配置定时器二的时基单元 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_ClockDivisionTIM_CKD_D…...

postman导入https证书

进入setting配置中Certificates配置项 点击“Add Certificate”,然后配置相关信息 以上配置完毕&#xff0c;如果测试出现“SSL Error:Self signed certificate” 则将“SSL certificate verification”取消勾选...

Spark UI中 Shuffle Exchange 和 BroadcastExchange 中的 dataSize 值为什么不一样

背景 Spark 3.5 最近在看Spark UI 上的一些指标看到一个很有意思的东西, 相邻的Shuffle Exechange 和 BroadcastExechange 中的 datasize 居然不一样&#xff0c; 前者为 765KB, 后者为 64.5MB。差别还不少&#xff0c;中间就增加了一个 AQEShuffleRead 计划 结论 Shuffle E…...

阿里云优惠券领取入口、使用方法和限制条件,2024最新

阿里云优惠代金券领取入口&#xff0c;阿里云服务器优惠代金券、域名代金券&#xff0c;在领券中心可以领取当前最新可用的满减代金券&#xff0c;阿里云百科aliyunbaike.com分享阿里云服务器代金券、领券中心、域名代金券领取、代金券查询及使用方法&#xff1a; 阿里云优惠券…...

自己构建webpack+vue3+ts

先看看我的目录结构&#xff08;我全局使用TS&#xff09;&#xff1a; 一、安装配置webpack打包 安装esno npm install esnoesno 是基于 esbuild 的 TS/ESNext node 运行时,有了它&#xff0c;就可以直接通过esno *.ts的方式启动脚本&#xff0c;package.json中添加 type:…...

【AI】小白入门笔记

前言 2024年&#xff0c;愿新年胜旧年&#xff01;作为AI世界的小白&#xff0c;今天先来从一些概念讲起&#xff0c;希望路过的朋友们多多指教&#xff01; 正文 AI (人工智能) 提起AI, 大家可能会想起各种机器人&#xff0c;移动手机的“Siri”,"小爱同学", 是语…...

GPT应用开发:编写插件获取实时天气信息

欢迎阅读本系列文章&#xff01;我将带你一起探索如何利用OpenAI API开发GPT应用。无论你是编程新手还是资深开发者&#xff0c;都能在这里获得灵感和收获。 本文&#xff0c;我们将继续展示聊天API中插件的使用方法&#xff0c;让你能够轻松驾驭这个强大的工具。 插件运行效…...

揭开Spring MVC的真面目

官方对于Spring MVC的描述为&#xff1a; Spring Web MVC是基于Servlet API框架构建的原始Web框架&#xff0c;从一开始就包含在Spring框架中。它的正式名称“Spring Web MVC”来自其源模块的名称&#xff08;Spring-webmvc&#xff09;&#xff0c;但它通常被称为“Spring-MVC…...

AI大模型开发架构设计(3)——如何打造自己的大模型

文章目录 如何打造自己的大模型1 新时代职场人应用AIGC的5重境界2 人人需要掌握的大模型原理职场人都能听懂的大语音模型的训练过程职场人都能听得懂的大语言模型的Transformer推理过程 3 如何构建自己的大模型需要具备三个方面的能力LangChain是什么&#xff1f;LangChain主要…...

Linux C语言开发(三)运算符和表达式

目录 一.什么是运算符 二.什么是表达式 一.什么是运算符 在C语言中,运算符是用于执行特定操作的符号。这些操作可以涉及一个或多个值(称为操作数),并产生一个新的值或效果。C语言提供了多种类型的运算符,用于执行算术、比较、逻辑和其他类型的操作。 以下是C语言中常见的…...

Spring-AOP入门案例

文章目录 Spring-AOP入门案例概念:通知(Advice)切入点(Pointcut )切面&#xff08;Aspect&#xff09; 目标对象(target)代理对象(Proxy)顾问&#xff08;Advisor)连接点(JoinPoint) 简单需求&#xff1a;在接口执行前输出当前系统时间Demo原始未添加aop前1 项目包结构2 创建相…...

中仕教育:国考调剂和补录的区别是什么?

国考笔试成绩和进面名单公布之后&#xff0c;考生们就需要关注调剂和补录了&#xff0c;针对二者之间的区别很多考生不太了解&#xff0c;本文为大家解答一下关于国考调剂和补录的区别。 1.补录 补录是在公式环节之后进行的&#xff0c;主要原因是经过面试、体检和考察&#…...

ESP32-TCP服务端(Arduino)

将ESP32设置为TCP服务器 介绍 TCP&#xff08;Transmission Control Protocol&#xff09;传输控制协议&#xff0c;是一种面向连接的&#xff08;一个客户端对应一个服务端&#xff09;、可靠的传输层协议。在TCP的工作原理中&#xff0c;它会将消息或文件分解为更小的片段&a…...

HCIA-HarmonyOS设备开发认证-序

序 最近涉及到HarmonyOS鸿蒙系统设备开发&#xff0c;在网络上已经有很多相关资料&#xff0c;视频教程&#xff0c;我也移植了公司的一个stm32G474板卡&#xff0c;运行LiteOS-m L0系统。 一面看资料一面移植&#xff0c;遇到不少坑&#xff0c;当看到运行的LOGO时&#xff0…...

Med-YOLO:3D + 医学影像 + 检测框架

Med-YOLO&#xff1a;3D 医学影像 检测框架 提出背景设计思路网络设计训练设计讨论分析 魔改代码&#xff1a;加强小目标检测总结 提出背景 论文链接&#xff1a;https://arxiv.org/abs/2312.07729 代码链接&#xff1a;https://github.com/JDSobek/MedYOLO 提出背景&…...

Docker部署Golang服务

不管是开发还是生产环境&#xff0c;通过 docker 方式部署服务都是一种不错的选择&#xff0c;能够解决不同开发环境一致性的问题。 本文以项目&#xff1a;https://github.com/johncxf/go-api 为例。 Dockerfile 构建 Go 运用环境 在项目根目录下添加 Dockerfile 文件&…...

C#,字符串匹配(模式搜索)Sunday算法的源代码

Sunday算法是Daniel M.Sunday于1990年提出的一种字符串模式匹配算法。 核心思想&#xff1a;在匹配过程中&#xff0c;模式串并不被要求一定要按从左向右进行比较还是从右向左进行比较&#xff0c;它在发现不匹配时&#xff0c;算法能跳过尽可能多的字符以进行下一步的匹配&…...

makefile 编译动态链接库使用(.so库文件)

makefile 编译动态链接库使用&#xff08;.so库文件&#xff09; 动态链接库:不会把代码编译到二进制文件中&#xff0c;而是在运行时才去加载&#xff0c; 好处是程序可以和库文件分离&#xff0c;可以分别发版&#xff0c;然后库文件可以被多处共享 动态链接库 动态&#…...