******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)
我的配置文件包含多个部分。节名称应作为变量传递。我正在尝试上面的代码,但它失败,错误“无效的语法”。
错误:
文件“./testprog.py”,第14行 打印val1 ^ SyntaxError:语法无效
显然我认为语法parser.get上面的代码无效。任何建议如何将段名作为变量传递,以便它可以从该特定部分读取并显示值。
非常感谢帮助。
答案 0 :(得分:0)
我认为您的代码应该由主程序调用,这样才能正常工作。并确保每个部分包含相同的变量名称。
#!/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)