作者cerebellum (ymca)
看板Python
标题[问题] python程式问题请求帮忙
时间Thu May 12 23:26:45 2016
我没有学过python 只有使用matlab的经验
不过我有在用一个python写成的程式帮我自动生成rss的全文
我发现了一个bug 不过这个程式似乎已经没有人在维护了
所以想请大家帮忙做一个修改
当程式生成全文rss的时候
会撷取一部分原本的rss 内容(stripped) 当成discription
下面是撷取stripped的程式码
local_entry['stripped'] = ''.join(BeautifulSoup(local_entry['content'],
convertEntities = BeautifulSoup.HTML_ENTITIES).findAll(text = True))[:200]
下面是使用stripped的程式码
<mbp:meta name="description">{{ escape(item['stripped']) }}</mbp:meta>
但是在极少数的情况下 这个stripped会是空的
这时候後面的程式码就会有错误
如果我把'stripped'改成'title' 也就是rss的标题 则不会出现错误
我在想可以加入一个判断式 如果stripped为空时(没有文字)
则使用title来当description
请高手们帮忙了! 谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 139.52.106.183
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1463066808.A.7F8.html
1F:→ yeh6: if 'stripped' in local_entry: local_entry['stripped']=.. 05/13 02:06
2F:→ yeh6: else: local_entry['title']=... 05/13 02:06
对不起 可能是我没有表达好 後面的程式码会有错误不是指
<mbp:meta name="description">{{ escape(item['stripped']) }}</mbp:meta>
会出错 而是在其他部分的程式码要求
<mbp:meta name="description"> 与 </mbp:meta> 中间一定要有东西的时候会出错
所以如果我把
<mbp:meta name="description">{{ escape(item['stripped']) }}</mbp:meta>
改成
<mbp:meta name="description">{{ escape(item['title']) }}</mbp:meta>
就不会出错 因为'title'一定会有东西
所以我想要加的判断式比较像是
if 'stripped'为空(没有东西)
<mbp:meta name="description">{{ escape(item['title']) }}</mbp:meta>
else 'stripped'有内容
<mbp:meta name="description">{{ escape(item['stripped']) }}</mbp:meta>
感谢帮忙!
※ 编辑: cerebellum (139.52.106.183), 05/13/2016 03:57:12
※ 编辑: cerebellum (139.52.106.183), 05/13/2016 03:57:42
3F:→ uranusjr: 这看起来是 Jinja2 template? 试试这样 05/13 08:37
4F:→ uranusjr: escape(item['stripped']) or escape(item['title']) 05/13 08:42
5F:→ cerebellum: 感谢帮忙 初步测试是成功的! 有问题会再来回报! 05/14 03:14