ChatGPT自动生成Python脚本教程
先说说我的判断:想让ChatGPT生成一段能直接运行的Python脚本,最关键的不是提示词有多华丽,而是你能否把“能运行”这三个字拆解成一连串可执行的指令。很多人试过之后发现,复制粘贴出来的代码不是缺库就是缩进乱掉,甚至运行到一半报个莫名其妙的编码错误——这不是AI在帮忙,纯粹是给自己添堵。
所以,真正的问题是:怎么能让ChatGPT一次就把活的脚本交出来,而不是给你一段需要你自己修修补补的“半成品”?
明确需求:用自然语言精准描述任务
在对话框里扔一句“写个Python脚本”,就像去餐厅跟厨师说“来点吃的”——结果大概率不是你想要的。ChatGPT不知道你打算处理Excel还是爬网页,也不知道输入到底来自文件还是用户手动输入。
你得把这三样东西说清楚:输入从哪来、中间怎么处理、最后输出成什么。举个例子:“读取当前目录下名为data.csv的文件,筛选出‘score’列大于85的行,把结果保存为filtered_data.xlsx,用openpyxl写入,不要用pandas。”你看,这句话里每一项都是硬指标。尤其最后那条“不用pandas”很重要——你不说清楚它,它大概率默认调pandas.read_csv,万一你的环境里压根没装这个库,后面全是白忙。
约束输出格式:强制返回可执行代码块
在需求末尾加一句固定指令:“只返回完整的、可直接保存为.py文件并运行的Python代码,不要任何解释、不要markdown标题、不要额外空行、不要省略import语句。”加了这句话之后,ChatGPT的反应会立刻干净许多——之前它总爱把代码嵌在一大段说明里,还带中文注释;加完这句,响应几乎全是能直接跑的代码块。偶尔还会混进一行注释,但整体结构已经完整了。
如果它仍然不死心,非要夹带解释性文字,直接追加一句:“请严格遵循上一条指令,只输出代码。”别客气,机器吃这套。
修复常见错误:三步落地检查
① 复制全部代码 → 粘贴到VS Code新建的test.py中 → 按Ctrl+Shift+P调出命令面板 → 输入“Format Document”回车,缩进问题自动修复。这一步几乎能解决90%的缩进乱象。
② 终端执行 python test.py,报错ModuleNotFoundError是家常便饭。这说明它用了你没装的库。别急着一顿pip install,先看报错行——比如提示“import openpyxl”,而你只装了xlsxwriter,那就要手动把 from openpyxl import Workbook 改成 import xlsxwriter,然后重写写入逻辑。很多时候,换一个等价的库比装一个新库更省事。
③ 运行成功但结果不对?重点查索引。ChatGPT经常混淆0-based和1-based索引。比如你要求“取第3列”,它可能写row[2](正确),也可能写row[3](越界)。打开原始数据文件,用print(row)打印前两行,对照着确认索引位置,这个排查比凭空猜要快得多。
【关键前提】脚本里所有文件路径必须用相对路径或os.getcwd()拼接,禁止硬编码C:Users…这类绝对路径——否则换台电脑直接报FileNotFoundError,这是新手最容易踩的坑。
进阶技巧:让ChatGPT生成带参数的脚本
如果你已经不止一次让ChatGPT写脚本,那下面这两个技巧值得掌握。
方法一:要求加入argparse
在原始需求后面追加:“用argparse接收两个参数:-i指定输入CSV路径,-o指定输出Excel路径,默认输入为data.csv,输出为result.xlsx。” 它会生成含 import argparse、parser.add_argument 的完整结构,你只需在终端用 python script.py -i mydata.csv -o output.xlsx 调用,一次写好多场合复用。
方法二:要求生成配置文件支持
直接说:“不要把路径写死在代码里,改为从config.json读取input_file和output_file字段。” 它会自动插入 json.load(open("config.json")),甚至提前帮你写好示例config.json的内容——你只需创建该文件、填入真实路径即可。
不过需要注意的是,它有时会漏掉 encoding="utf-8" 参数,而读CSV时一旦遇到中文就报 UnicodeDecodeError。看到open()函数没指定encoding的,务必手动补上。这个小动作,能省掉后面一大堆调试时间。
