我正在使用bash脚本,并且想将Python片段嵌入bash函数中。
所以我得到了这个有效的Python代码段,该代码段简单地从stdin读取并进行解析以获取条目的标题[0]:
import feedparser, sys
root = feedparser.parse(sys.stdin.read())
print root['entries'][0].title
一切似乎都很好:
$ curl -sf https://feedforall.com/sample.xml | python xmlparser.py
RSS Solutions for Restaurants
以这种方式执行时会发生IndexError:
$ curl -sf https://feedforall.com/sample.xml | python - <<EOF
import feedparser, sys
root = feedparser.parse(sys.stdin.read())
print root['entries'][0].title
EOF
收到此IndexError:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
IndexError: list index out of range
在这种情况下,好像root ['entries']正在返回一个空列表。.我不知道为什么。
感谢帮助
答案 0 :(得分:0)
像这样很好地执行:
$ curl -sf https://feedforall.com/sample.xml | python <( cat <<EOF
import feedparser, sys
root = feedparser.parse(sys.stdin.read())
print root['entries'][0].title
EOF
)