【问题标题】:Use sys_arg in python config parser [duplicate]在 python 配置解析器中使用 sys_arg [重复]
【发布时间】:2021-11-29 10:20:56
【问题描述】:

我的配置文件格式如下。

[Connection]
Oracle=Some Value
MySql=Some Value

[Queries]
productionTable1=Somevalue
productionTable2=Somevalue

现在我想编写一个程序文件,它将连接和表名作为输入,并从配置文件中获取相应的值。

我写了这样的代码:

import sys
import configparser
config = configparser.ConfigParser()
config.sections()
config.read('mytest.ini')
config.sections()
connection_name=sys.argv[0]
load_query=sys.argv[1]
Myconnection=config.get("Connections","{}".format(connection_name))
My_load_query=config.get("Queries","{}".format(load_query))
print(Myconnection)
print(My_load_query)

但是当我运行命令“python3 test3.py Oracle productionTable1”时

我收到以下错误:

During handling of the above exception, another exception occurred:

configparser.NoOptionError: No option 'test3.py' in section: 'Connections'

那么任何人都可以在我出错的地方帮助我。

【问题讨论】:

  • sys.argv[0] 是脚本名称。您需要使用sys.argv[1] 和sys.argv[2]。
  • 或者为了更好的处理你也可以使用argparse.ArgumentParser

标签: python python-3.x


【解决方案1】:

如上所述,第一个参数 (sys.argv[0]) 始终是文件名。所以你需要使用sys.argv[1] 和sys.argv[2] 来达到你的价值观。

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 2011-10-29
    • 2013-10-07
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2020-05-13
    • 2012-08-17
    相关资源
    最近更新 更多