gpt4 book ai didi

python - 使用 minidom 解析 Bash 导出变量,Python 出错

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:32 30 4
gpt4 key购买 nike

在我的/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 (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 -->
..
...

所以,我真的很困惑。我该怎么办?

最佳答案

Bash 变量不会自动扩展,使用 os.environ 访问它们:

XML = parse('%s/Data/Config.xml' % os.environ['SYNCTOOL'])

关于python - 使用 minidom 解析 Bash 导出变量,Python 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766363/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com