2024-04-29 10:16:18 发布
网友
如何使用python configparser模块解析in I文件中没有值的标记?
例如,我有下面的ini,我需要解析rb。在某些ini文件中,rb有整数值,而在某些文件中则完全没有值,如下例所示。如何使用configparser在不获取valueerror的情况下完成此操作?我使用getint函数
[section] person=name id=000 rb=
不要使用getint(),而是使用get()将选项作为字符串获取。然后自己转换成int:
getint()
get()
rb = parser.get("section", "rb") if rb: rb = int(rb)
可能使用try...except块:
try...except
try: value=parser.getint(section,option) except ValueError: value=parser.get(section,option)
例如:
import ConfigParser filename='config' parser=ConfigParser.SafeConfigParser() parser.read([filename]) print(parser.sections()) # ['section'] for section in parser.sections(): print(parser.options(section)) # ['id', 'rb', 'person'] for option in parser.options(section): try: value=parser.getint(section,option) except ValueError: value=parser.get(section,option) print(option,value,type(value)) # ('id', 0, <type 'int'>) # ('rb', '', <type 'str'>) # ('person', 'name', <type 'str'>) print(parser.items('section')) # [('id', '000'), ('rb', ''), ('person', 'name')]
创建解析器对象时,需要设置allow_no_value=True可选参数。
allow_no_value=True
不要使用
getint()
,而是使用get()
将选项作为字符串获取。然后自己转换成int:可能使用
try...except
块:例如:
创建解析器对象时,需要设置
allow_no_value=True
可选参数。相关问题 更多 >
编程相关推荐