You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Configparser读取config.ini并为Curl调用正确赋值变量?

问题解答

你的两种TGtoken赋值方式都错误

当前脚本里TGtoken = Device_Name是把设备名重复赋值给TGtoken,完全不符合需求;你提到的另一种TGtoken = configini.get('DeviceInfo', 'Devicename')也不对,因为这还是读取的设备名字段,不是Telegram令牌对应的字段。

正确的赋值与代码修正

  1. 正确读取配置并赋值
    你的config.ini中,设备名字段是Devicename,Telegram令牌字段是TGtokenCurl,所以正确的变量赋值代码如下:
import configparser
import subprocess
import datetime
from time import sleep

configini = configparser.ConfigParser()     
# 路径用正斜杠或双反斜杠避免转义问题
configini.read("scr/config/config.ini")
# 设备名赋值给Geraet
Geraet = configini.get('DeviceInfo', 'Devicename')
# Telegram令牌赋值给TGtoken
TGtoken = configini.get('DeviceInfo', 'TGtokenCurl')
print(Geraet)
  1. 修正Curl调用函数
    原函数中把元组作为curl参数会导致调用失败,需要将TG令牌、错误标识和设备名拼接成完整的请求URL:
def CurlExeptionErrorAccours():
    sleep(2)
    # 拼接完整的Telegram API请求地址
    full_tg_request_url = f"{TGtoken}ExeptionErrorAccours_{Geraet}"
    subprocess.call([
        'curl',
        '-X', 'POST',
        '-d', 'flow_x',
        full_tg_request_url
    ])
    timenow = datetime.datetime.now()
    print("Curl ExeptionErrorAccours", timenow)
    sleep(1)

额外提示

  • 配置文件路径建议用正斜杠/或双反斜杠\\,避免单斜杠引发的转义问题
  • 如果想让[DEFAULT]中的内容作为字段默认值,建议把DEFAULT里的字段名改成和[DeviceInfo]一致(比如DEFAULT里写Devicename = NameoftheDevice),这样configparser会自动在DeviceInfo字段缺失时读取DEFAULT的对应值,更符合工具的使用逻辑

内容的提问来源于stack exchange,提问作者Bill Sian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:20:44