当前位置: 首页 > 知识库问答 >
问题:

INI配置文件错误

段干开宇
2023-03-14

后台-
我有一个python程序,它调用API,将数据保存到数据帧,然后将数据写入。JSON。CSV文件
作为本程序的一部分,我一直在使用进行探索。INI(配置)文件,我想-

  1. 阅读我的API密钥和秘密在我的defapi_call():
  2. 读取我的defapi_parameters():函数中需要的2个日期值(yyyy-mm-dd),这些参数形成一个url字符串,用于进行API调用。

...INI结构-(与虚拟值!)

[firm_api]
key = 6GFDGFSDGSDFGSDFGFSDGFSDGFD
secret = GFSD898F908GFSD09PJGF-80F
[url_params]
start_date = 2021-10-30
end_date = 2021-11-30 

问题-
我创建了一个def config,它读取我的。INI文件,并尝试返回我的API密码,以及开始日期结束日期的url参数

问题在于,当我从defapi_参数(这是我需要start_dateend_date)或defapi_调用(我需要

读取.INI-这读取我的。INI文件并返回上面提到的4x值:

def ini_config():
    file = 'authen_config.ini'
    config = ConfigParser()
    config.read(file)
    key = config.get('firm_api', 'key')
    secret = config.get('firm_api', 'secret')
    start_date = config.get('url_params', 'start_date')
    end_date = config.get('url_params', 'end_date')
    return key, secret, start_date, end_date

需要开始日期结束日期的函数-此函数构造要调用的url:

def api_parameters():
    start_date, end_date = ini_config()
    str = "https://firm.vendor.com/api/v1/portfolio/views/45265/results?portfolio_id=10&portfolio_type=firm&output_type=json&start_date={}&end_date={}&vendor_firm=333"
    url = str.format(start_date, end_date)
    print("-----------------------\n", "API URLs constructed\n-----------------------")
    return url
api_parameters()

需要keysecret的函数-进行API调用:

def api_call():
    key, secret = ini_config()
    url = api_parameters()
    response = requests.get(url, auth = HTTPBasicAuth(key, secret), headers={"Vendor-Firm":"333"})
    api_response = json.loads(response.text)
    return api_response
api_call()

我认为问题在于,尽管在defapi_-call():defurl_-parameters():中,我只是尝试调用defini_-config():来获取所需的值,但它返回了所有4x值,并混淆了函数。

有人有任何建议,我可以如何解决这些ValueError:太多的值解包(预期2)


共有1个答案

艾修筠
2023-03-14

ini_config返回4个值

return key, secret, start_date, end_date

但你试着给2个变量赋值

start_date, end_date = ini_config()
# or 
key, secret = ini_config()

这就带来了问题。

你必须使用4个变量

key, secret, start_date, end_date = ini_config()

或者您可以使用流行的_< /code>作为变量来跳过一些值

_, _, start_date, end_date = ini_config()
# or 
key, secret, _, _ = ini_config()

最后,您应该创建两个函数—一个只获取,另一个只获取日期

 类似资料:
  • 配置 默认值 作用 swoole.enable_coroutine On On, Off 开关内置协程,详见。 swoole.display_errors On 开启/关闭Swoole错误信息。 swoole.use_shortname On 是否启用短别名,详见。 swoole.enable_preemptive_scheduler On 可防止某些协程死循环占用CPU时间过长(10ms的CPU

  • 本文向大家介绍C++读写INI配置文件的类实例,包括了C++读写INI配置文件的类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++读写INI配置文件的类。分享给大家供大家参考。具体如下: 1. IniReader.h文件: 2. IniReader.cpp文件: 3. IniWriter.h文件: 4. IniWriter.cpp文件: 5. main.cpp文件: 希望本文所述

  • 本文向大家介绍C++读取INI配置文件类实例详解,包括了C++读取INI配置文件类实例详解的使用技巧和注意事项,需要的朋友参考一下 本文以实例讲解了C++读取配置文件的方法。 一般情况下,我们都喜欢使用ini扩展名的文件作为配置文件,可以读取及修改变量数值,也可以设置新的组,新的变量,本文的实例代码一个是读取INI的定义文件,另一个是CIniFile类实现文件,两者结合,完美实现VC++对INI文

  • INI条目被定义在一个完整的独立的的块,位于上文中所说的MINIT方法的同一个源文件,并且用下面的一对宏来定义,并在这对宏之间放入一个或者多个条目PHP_INI_BEGIN()和PHP_INI_END() 这些宏方法和上一章所提到的ZEND_BEGIN_MODULE_GLOBALS()和ZEND_END_MODULE_GLOBALS()有着相同的用法。这些结构是用静态数据的实例来声明,而不仅仅是提

  • 本文向大家介绍Shell实现读取ini格式配置文件方法,包括了Shell实现读取ini格式配置文件方法的使用技巧和注意事项,需要的朋友参考一下 ini文件格式一般都是由节、键、值三部分组成 格式: [第一节 ] 第一个键 = 值 第二个键 = 第二个值 [第二节 ] 第一个键 = val1,val2,val3 例子: 其实这个作用没那么特别大,但多个shell如果每个配置信息都在shell文件里面

  • 本文向大家介绍基于python的ini配置文件操作工具类,包括了基于python的ini配置文件操作工具类的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python的ini配置文件操作工具类的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。