AI帮我写python脚本,效率提升N倍

   日期:2024-12-26    作者:ep9h1 移动:http://mip.riyuangf.com/mobile/quote/53623.html

目录

AI帮我写python脚本,效率提升N倍

1、文件列表展开脚本

AI提示词V1.0

生成的代码V1.0

 AI提示词V2.0

生成的代码V2.0

运行结果

2、excel反标工具

 提示词V1.0

提示词V2.0

3、总结

避免错误的提示词

推荐使用总分结构组织提示词

效率提升效果


 

当前在初创芯片公司,工作中经常需要通过脚本实现效率提升。因为公司人少,都需要自己空闲时间做一些脚本。最近使用AI做了两个尝试,明显能感觉到AI带给我的效率提升。以前是我需要自己梳理需求、写代码、调试。现在用上AI,我只需要自己提需求,然后迭代需求,测试和微调脚本即可。而且在使用AI的时候,也领会到一点和AI打交道的方法。

先介绍一下两个脚本的用途,最后会贴上可以使用的脚本代码。

脚本1:文件列表展开工具,命令行方式运行。因为芯片编译的filelist经常是嵌套的,且带环境变量的,但是有些工具(例如FPGA编译工具)需要读取打平的filelist。

脚本2:excel反标工具,带图形界面。在芯片开发末期,要做一些质量活动——就是确认下游是否覆盖了上游的需求,例如验证是否覆盖所有设计的功能点。经常需要在设计的功能点(excel文件A)上标注对应验证的测试点(excel文件B)的编号,这个工作就是需要从文件B中复制测试点编号的单元格内容,到文件A中。过程中有大量的ctrl+c和ctrl+v的操作,每次做下来,左手累的不行。希望有个脚本能实现ctrl+c和ctrl+v的动作。

要处理的文件层级如下

顶层的filelist如下

子级filelist内容如下

帮我写一个python脚本。工作环境为linux。filest文件中每一行是一个文件路径,把其中的环境变量展开,然后输出为一个新的文件。filelist中还会嵌套filelist,也需要展开。filelist的行前缀-f。删除文件路径两侧的空格。

 

这个脚本有3个问题

1、就是process_file_list每次调用都会打开文件。但是递归调用的时候,写入有些问题

2、嵌套的filelist路径还会包含空格,会出错。看来去掉空格这个命令,AI理解的和我不同。

3、只处理嵌套的filelist,而且递归调用处理二级fielist时,会返回空(因为只处理前缀-f的行,导致运行出错。

帮我写一个python脚本。工作环境为linux。filest文件中每一行是一个文件路径,把其中的环境变量展开,然后输出为一个新的文件。filelist中还会嵌套filelist,也需要展开。filelist中嵌套的filelist的行前缀-f,其他的文件没有前缀。删除文件路径两侧的空格。文件路径提取后先保存在一个列表中,读取完成后,再一次性输出到文件。递归执行时,返回列表,不要直接写入文件。先把路径两侧可能存在的空格去掉,再展开环境变量。

 
 
 
 

由于生成的代码比较长,我就每个都贴了。只是贴一下提示词,以及生成的脚本的缺点。

帮我写一个python脚本。使用pywin32和pyside6。需求如下:1、支持从当前已经打开的excel文件中选择excel文件;2、支持提取两个excel文件中选中的单元格的内容;3、提供界面,界面有2个下拉菜单,下拉菜单中为当前打开的excel文件名,支持从其中选择excel文件;还需要一个刷新按钮,更新下拉菜单; 4、支持界面置顶显示,也可以取消置顶显示,置顶选择按钮按下表示置顶,弹起表示取消置顶;5、支持通过一个按键(颜色为蓝色,关联两个单元格的内容——关联方式为,将其中一个文件单元格拷贝另一个文件的同一行的某列,列的位置,可以通过界面下拉菜单选择。6、界面有一个刷新按钮,用于更新excel文件列表。7、界面还支持一个按钮来表示复制的方向,按钮弹起时,表示从第一个文件复制到第二个文件的某个单元格,按键按下时表示从第二个文件复制到第一个文件的某个单元格,此单元格与excel中已选中的单元格同行,列的位置由界面选择的列位置来决定。

生成的GUI界面

 

问题:可以生成图形界面每个按钮有对应的调用函数,但是调用函数里面只有一些打印提示,没有对应的功能(虽然我在提示词中对每个按钮的功能有描述,但是AI看起来只理解到对界面的诉求,没有理解按钮背后要做的动作。

提示词改进点:增加功能需求概述,放在提示词最前面;对界面显示区域进行划分。

帮我写一个python脚本。使用pywin32和pyside6。脚本支持从当前已经打开的excel文件中选择excel文件,支持复制其中一个excel文件中选中的单元格的内容,粘贴到另外一个excel选中的单元格中;脚本还支持界面。

脚本的界面需要分3个区域。

区域1包含如下控件:静态文本,内容为”Excel文件1”,按照最小长度显示;下拉菜单A,显示当前已经打开的excel的文件名,下拉菜单通过“更新”按钮刷新下拉选项。

区域2包含如下控件:静态文本,内容为”Excel文件2”,按照最小长度显示;下拉菜单A,显示当前已经打开的excel的文件名,下拉菜单通过“更新”按钮刷新下拉选项。

区域3包含控件:刷新按钮,按钮按下时,重新检测已经打开的excel文件,更新区域1和2中的下拉菜单,刷新前保留之前选中的文件名,更新下来菜单后,如果之前下拉菜单的选中的文件还在下来选项中,则还是选择和之前一样的文件名;方向按钮,弹起时表示从区域1的菜单A中选中的单元格,复制到区域2的菜单A文件当前激活的sheet的单元格,按下时,则相反,按钮支持check;关联按钮,无需check,填充浅蓝色,此按钮按下时,按照方向按钮的选择,将选中的单元格复制到另一个excel文件选中的单元格;置顶按钮,有check功能,按下时,表示置顶,此按钮填充为黄色,弹起时表示不置顶,无填充,默认为置顶。

运行效果

生成的脚本还是有一点问题,修改后可以使用的代码如下

 

copy_cells函数调整过,和我想要的有差异。但是感觉文字不好描述。

 

filelist的提示词中的

先把路径两侧可能存在的空格去掉,再展开环境变量。

我也是试过另一个错误的表述

替换环境变量前,先去掉路径的空格

这个“前”被AI理解为位置关系,而不是操作顺序关系。

建议使用总分结构。就是先描述整体的功能,然后再描述细分的功能。只描述细节的功能,感觉AI就像一个新同事一样,不知道你在说什么。先要给它一个概括的描述,然后再层层展开。

首先,我自己经常使用pywin32来操作excel,对于这个库比较熟悉,所以改起来就很快。如果你对这个库一无所知,AI还很难一次做对。

但是对于第二个脚本一共接近180行,如果我自己写、调试至少需要1天的时间。但是用AI生成,我自己只是改脚本,就变得轻松狠多。

所以AI对于有一定编程经验(但不需要达到高手的水平)的人来说,提升效果很明显。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号