使用minidom解析Bash导出变量,Python中出现错误
在我的/etc/bash.bashrc文件中,我有以下内容:使用minidom解析Bash导出变量,Python中出现错误,python,bash,environment-variables,Python,Bash,Environment Variables,在我的/etc/bash.bashrc文件中,我有以下内容: export SYNCTOOL=/root/Desktop/gb alias synctest='python $SYNCTOOL/App.py' 在App.py中: from xml.dom.minidom import parse XML = parse('$SYNCTOOL/Data/Config.xml') 在shell中键入synctest时,出现以下错误: root@bt:~# synctest Traceback (
export SYNCTOOL=/root/Desktop/gb
alias synctest='python $SYNCTOOL/App.py'
在App.py中:
from xml.dom.minidom import parse
XML = parse('$SYNCTOOL/Data/Config.xml')
在shell中键入synctest时,出现以下错误:
root@bt:~# synctest
Traceback (most recent call last):
File "/root/Desktop/gb/App.py", line 12, in <module>
XML = parse('$SYNCTOOL/Data/Config.xml')
File "/usr/lib/python2.6/xml/dom/minidom.py", line 1918, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.6/xml/dom/expatbuilder.py", line 922, in parse
fp = open(file, 'rb')
IOError: [Errno 2] No such file or directory: '$SYNCTOOL/Data/Config.xml'
使用cat命令查找文件时:
root@bt:~# cat $SYNCTOOL/Data/Config.xml
<?xml version="1.0" ?>
<AllConfigurations>
<!-- PROGRAM OPTIONS START -->
..
...
所以,我真的很困惑。我该怎么办?您试图在Python程序中使用shell变量$SYNCTOOL的值: 如果要从Python程序中读取环境变量,请使用以下对象:
或者,您可以使用命令行参数读取要解析的文件名。您试图在Python程序中使用shell变量$SYNCTOOL的值: 如果要从Python程序中读取环境变量,请使用以下对象:
或者,您可以使用从命令行参数中读取要分析的文件名。Bash变量不会自动展开,请使用os.environ访问它们:
XML = parse('%s/Data/Config.xml' % os.environ['SYNCTOOL'])
Bash变量不会自动展开,请使用os.environ访问它们:
XML = parse('%s/Data/Config.xml' % os.environ['SYNCTOOL'])
XML = parse('%s/Data/Config.xml' % os.environ['SYNCTOOL'])