python 如何在配置解析器中将部分名称作为变量传递
python how to pass section name in config parser as variable
******testfile.ini file*******
**[TEST]**
val1=1
val2=3
**[TEST1]**
..
..
**[TEST2]**
..
..
**[TEST3]**
..
..
*****testprog.py****
#!/usr/bin/python
import sys
import ConfigParser
import os
section = sys.args[1]
parser = ConfigParser.ConfigParser()
parser.read('testfile.ini')
val1 =parser.get('{0}'.format(section),'val1')
val2 =parser.get('{0}'.format(section),'val2')
print "Value 1 {0}".format(val1)
print "Value 2 {0}".format(val2)
我有包含多个部分的配置文件。部分名称应作为变量传递。我正在尝试上面的代码,但它因错误 "Invalid Syntax" 而失败。
错误:
文件“./testprog.py”,第 14 行
打印值 1
^
语法错误:语法无效
显然我认为语法 parser.get 之上的代码是无效的。关于如何将部分名称作为变量传递以便它可以从该特定部分读取并显示值的任何建议。
非常感谢您的帮助。
我认为你的代码应该像这样被主程序调用,它工作正常。并确保每个部分都包含相同的变量名。
#!/usr/bin/python
import sys
import ConfigParser
import os
section = sys.argv[1]
def test(section):
parser = ConfigParser.ConfigParser()
parser.read('testfile.ini')
val1 =parser.get('{0}'.format(section),'val1')
val2 =parser.get('{0}'.format(section),'val2')
print "Value 1 {0}".format(val1)
print "Value 2 {0}".format(val2)
if __name__ == "__main__":
test(section)
******testfile.ini file*******
**[TEST]**
val1=1
val2=3
**[TEST1]**
..
..
**[TEST2]**
..
..
**[TEST3]**
..
..
*****testprog.py****
#!/usr/bin/python
import sys
import ConfigParser
import os
section = sys.args[1]
parser = ConfigParser.ConfigParser()
parser.read('testfile.ini')
val1 =parser.get('{0}'.format(section),'val1')
val2 =parser.get('{0}'.format(section),'val2')
print "Value 1 {0}".format(val1)
print "Value 2 {0}".format(val2)
我有包含多个部分的配置文件。部分名称应作为变量传递。我正在尝试上面的代码,但它因错误 "Invalid Syntax" 而失败。
错误:
文件“./testprog.py”,第 14 行 打印值 1 ^ 语法错误:语法无效
显然我认为语法 parser.get 之上的代码是无效的。关于如何将部分名称作为变量传递以便它可以从该特定部分读取并显示值的任何建议。
非常感谢您的帮助。
我认为你的代码应该像这样被主程序调用,它工作正常。并确保每个部分都包含相同的变量名。
#!/usr/bin/python
import sys
import ConfigParser
import os
section = sys.argv[1]
def test(section):
parser = ConfigParser.ConfigParser()
parser.read('testfile.ini')
val1 =parser.get('{0}'.format(section),'val1')
val2 =parser.get('{0}'.format(section),'val2')
print "Value 1 {0}".format(val1)
print "Value 2 {0}".format(val2)
if __name__ == "__main__":
test(section)