curl命令转Python requests及CSV转JSON脚本Windows转EXE技术咨询
一、将curl命令转换为Python requests代码
你要是能把具体的curl命令贴出来,我可以直接给你转成对应的requests调用代码~先给你举个通用例子和转换思路,方便你自己也能上手:
比如有这样一条curl命令:
curl -X POST "http://your-server.com/api" -H "Content-Type: application/json" -H "Auth-Token: abc123" -d '{"name": "test", "id": 1}'
对应的requests代码就长这样:
import requests # 定义请求地址、请求头和请求体 url = "http://your-server.com/api" headers = { "Content-Type": "application/json", "Auth-Token": "abc123" } payload = { "name": "test", "id": 1 } # 发送POST请求,获取响应 response = requests.post(url, headers=headers, json=payload) # 可以按需处理响应,比如打印状态码或响应内容 print(f"请求状态码: {response.status_code}") print(f"响应内容: {response.text}")
转换的核心对应关系:
-X GET/POST/PUT直接对应requests.get()/requests.post()这类方法-H "Key: Value"整理成字典传给headers参数-d 'JSON字符串'转成Python字典传给json参数(如果是表单数据就用data参数)- 如果有基础认证(
-u user:pass),就加auth=("user", "pass")参数
二、完善CSV转JSON脚本并打包为Windows exe文件
先帮你把没写完的脚本补全,还适配了Python3(你的原脚本用了raw_input,是Python2的语法,现在换成Python3的input更通用):
import csv import json import requests # 获取用户输入路径和配置信息 origen = input('Inserta la ruta del fichero origen: ') destino = input('Inserta la ruta del fichero a generar: ') indice = input('Inserta nombre del indice: ') ip = input('Inserta la ip del servidor: ') # 读取CSV文件并转换为JSON格式 csv_data = [] with open(origen, 'r', encoding='utf-8') as infile: # 用DictReader自动把CSV表头作为JSON的键 csv_reader = csv.DictReader(infile) for row in csv_reader: csv_data.append(row) # 写入JSON文件,带缩进更易读,同时支持中文 with open(destino, 'w', encoding='utf-8') as jsonfile: json.dump(csv_data, jsonfile, ensure_ascii=False, indent=4) print(f"✅ JSON文件已成功生成: {destino}") # 如果你还需要把数据发送到指定服务器,取消下面的注释即可 # server_url = f"http://{ip}/{indice}" # response = requests.post(server_url, json=csv_data) # print(f"📡 服务器响应状态码: {response.status_code}")
接下来是打包成exe文件的步骤,用PyInstaller最方便:
- 先安装PyInstaller,打开命令提示符(CMD)运行:
pip install pyinstaller
- 进入脚本所在的文件夹,运行打包命令:
# 生成单个exe文件,带控制台窗口(方便看输出日志) pyinstaller --onefile tu_script.py # 如果不需要控制台窗口(纯图形化),就加--windowed参数 pyinstaller --onefile --windowed tu_script.py
- 打包完成后,会在脚本所在目录生成一个
dist文件夹,你的exe文件就在里面啦~
注意事项:
- 建议用Python3.7及以上版本,PyInstaller对新版本的兼容性更好
- 如果脚本里用到的依赖(比如requests)安装在虚拟环境里,要激活虚拟环境后再打包
- 要是遇到编码乱码问题,确保脚本里打开文件时指定了
encoding='utf-8'
内容的提问来源于stack exchange,提问作者GRojo
相关产品推荐
相关产品推荐

