Python 配置文件错误

Python 配置文件错误,python,config,configparser,Python,Config,Configparser,我已经为我的python程序创建了一个配置文件。。配置文件包含使用“i2cset”模块的my变量。。详情如下: 这是我的名为“try.ini”的配置文件 [new] a = ('i2cset', '-y', '0', '0x20', '0x14', '0x01') 我从我的主要代码中读到如下内容: from ConfigParser import SafeConfigParser parser=SafeConfigParser() parser.read('try.ini')

我已经为我的python程序创建了一个配置文件。。配置文件包含使用“i2cset”模块的my变量。。详情如下: 这是我的名为“try.ini”的配置文件

 [new]
  a = ('i2cset', '-y', '0', '0x20', '0x14', '0x01')
我从我的主要代码中读到如下内容:

from ConfigParser import SafeConfigParser
  parser=SafeConfigParser()
  parser.read('try.ini')

  def set21(tog=[0]):
      tog[0]= not tog[0]
      if tog[0]:
          set0.config(text='p21_1')
          A=parser.get('new', 'a')
          subprocess.call(''.join(A), shell=True)
      else:
          set0.config(txt='p21_0')
但每次我执行主程序时,都会出现一个错误,错误是:

/bin/sh: 1: 'i2cset ': not found.
我不知道为什么会这样。。当我在没有配置文件的情况下运行程序时,它执行得非常好。。。 有人能帮忙吗

亲切问候,,
Namita.

您的错误在于.ini文件的语法

[新增]
a=('i2cset','-y',0',0x20',0x14',0x01')


您希望变量
a
被读取为元组,而实际上它是一个字符串值,包含
“('i2cset','-y','0','0x20','0x14','0x01')”

如何在代码中指定'a'?Sry!我忘了提那件事。。我已经添加了它并更新了我的问题。。请看一下……那不可能是你的密码。没有所谓的
ConfidParser
,您不能将其分配给
A
,然后将其用作
A
,也不能随机缩进并期望它们工作。请向我们展示一个,而不仅仅是像您的代码那样模糊的东西,它可能甚至可能不包含您需要帮助的错误。作为旁注,为什么您希望
调用('''.join(a),shell=True)
,而不只是将其作为一个列表(这样您就不需要担心空格或其他奇怪之处,也就不需要shell了)仅仅做
调用(a)
?随机猜测1:你的实际代码执行
''。加入(…)
两次;第一个将元组连接到每个元素之间带有空格的字符串中,然后第二个将字符串连接到每个字符之间带有空格的字符串中。菲克斯:别那么做。谢谢你的回复。。如果不是这样,我如何从配置文件访问a的这个值?您有选项。一种方法是将
a=i2cset-y00x200x140x01
放在配置文件中,并在代码中使用
subprocess.call(a,shell=True)
。非常感谢。。现在它似乎起作用了。。错误在于,正如您所说,我试图将字符串作为变量访问。。谢谢:)或者您可以使用
ast.literal\u eval
将字符串解析为元组。但这似乎太复杂了,没有什么好的理由…