📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
随着人工智能技术的快速发展,越来越多的开发者开始利用 AI 工具优化工作流程、提高开发效率。
Cherry Studio 作为一款智能化的开发助手,凭借其强大的代码生成能力和灵活的自定义功能,成为开发者编写小工具的得力助手。
本文将详细介绍如何借助 Cherry Studio 编写小工具,并探讨其在实际测试开发中的应用。
Cherry Studio 简介
Cherry Studio 是一款基于人工智能的开发工具,旨在帮助开发者快速生成代码、优化工作流程。其主要特点包括:
-
智能代码生成:
根据用户的需求描述,自动生成高质量的代码片段。
-
多语言支持:
支持 Python、JavaScript、Java、Go 等多种编程语言。
-
高效调试:
提供代码调试建议,帮助开发者快速定位和修复问题。
-
灵活扩展:
支持自定义模板和插件,满足个性化开发需求。
无论是编写脚本、开发小工具,还是优化现有代码,Cherry Studio 都能提供高效的解决方案。
使用 Cherry Studio
编写小工具的步骤
以下是通过 Cherry Studio 编写小工具的详细步骤:
1. 明确需求
在开始开发之前,首先需要明确小工具的功能需求。
例如:
-
一个文件对比工具
-
一个新建文件夹模板工具
-
一个文件批量重命名工具。
-
一个数据清洗脚本。
-
一个自动化邮件发送工具。
2. 描述功能
在 Cherry Studio 中输入功能描述。描述应尽可能详细,包括输入、输出、处理逻辑等信息。
例如:
> "我需要一个 Python 脚本,能够批量重命名指定文件夹中的所有文件,将文件名中的空格替换为下划线,并在文件名前添加时间戳。"
3. 生成代码
Cherry Studio 会根据你的描述,自动生成代码。以下是一个示例输出:
import os
from datetime import datetime
def rename_files(folder_path):
for filename in os.listdir(folder_path):
if os.path.isfile(os.path.join(folder_path, filename)):
替换空格为下划线
new_name = filename.replace(" ", "_")
添加时间戳
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
new_name = f"{timestamp}_{new_name}"
重命名文件
os.rename(
os.path.join(folder_path, filename),
os.path.join(folder_path, new_name)
)
print(f"Renamed {filename} to {new_name}")
使用示例
rename_files("/path/to/your/folder")
```
4. 调试与优化
生成的代码可能需要进行调试和优化。Cherry Studio 提供以下功能帮助开发者:
-
错误检测:
自动检测代码中的语法错误和逻辑问题。
-
性能优化:
提供优化建议,例如减少循环次数、使用更高效的数据结构。
-
代码格式化:
自动调整代码格式,使其更易读。
5. 测试与部署
完成代码调试后,进行测试以确保工具功能正常。例如,将上述文件重命名工具在本地文件夹中运行,观察文件是否按预期重命名。
如果工具需要分享或部署,可以将其打包为可执行文件,或发布到代码仓库中。
实际应用案例
以下是通过 Cherry Studio 编写文件对比工具实用小工具示例:
案例一:
1. 描述需求
我有两个文件目录 ,原目录为上周公司人员提交周报,新目录为公司本周提交周报。
我想通过对比两个目录及其子目录的文件个数查出来哪个目录少文件 ,并且输出少的文件人的姓名如同一个人上周叫【周工作写实表-xxx-2025年第11周】本周叫【周工作写实表-xxx-2025年第12周】
2. Cherry Studio 转化需求:
-
遍历两个目录及其子目录:
获取所有文件的路径。
-
提取文件名中的姓名:
从文件名中提取出人员的姓名。
-
对比两个目录中的姓名:
找出本周未提交周报的人员。
-
输出结果:
输出未提交周报的人员姓名。
3. 代码示例:
import os
import re
from collections import defaultdict
def extract_name(filename):
"""从文件名中提取姓名"""
match = re.match(r"周工作写实表-(.*?)-.*", filename)
if match:
return match.group(1)
return None
def get_names_in_directory(directory):
"""获取目录中所有文件的姓名"""
name_set = set()
for root, _, files in os.walk(directory):
for file in files:
name = extract_name(file)
if name:
name_set.add(name)
return name_set
def compare_directories(old_dir, new_dir):
"""对比两个目录中的姓名,找出未提交的人员"""
old_names = get_names_in_directory(old_dir)
new_names = get_names_in_directory(new_dir)
missing_names = old_names - new_names
return missing_names
def main():
# 设置原目录和新目录的路径
old_dir = "path/to/old_directory" # 替换为实际的路径
new_dir = "path/to/new_directory" # 替换为实际的路径
# 对比目录并找出未提交的人员
missing_names = compare_directories(old_dir, new_dir)
# 输出结果
if missing_names:
print("以下人员本周未提交周报:")
for name in missing_names:
print(name)
else:
print("本周所有人都提交了周报。")
if __name__ == "__main__":
main()
代码调试运行:
一般这个阶段会执行几次,很有可能你的描述工具理解有误,会生成不符合你要求的功能,也有可能在调试过程中出现报错,如果偏差较大,很有可能重新回到需求描述阶段重新修改生成。
生成exe程序:
运行
pyinstaller --onefile
--windowed compare_wx.py
红色为你生成工具的名称
在目标文件夹dist 内生成exe可执行程序。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】