Tag Archives: Python

WordPress XML-RPC Python

wordpressLibrary是个Python利用Wordpress XML-RPC协议发布post的lib,使用很方便并且还能发布media,类似图片之类wordpress支持的格式都可以发布。

code:

import wordpresslib
url = 'http://www.mysite.com/wordpress/xmlrpc.php'
wp = wordpresslib.WordPressClient(url, 'username', 'password')
wp.selectBlog(0)
post = wordpresslib.WordPressPost()
post.title = 'Post title'
post.description = 'Post content'
idPost = wp.newPost(post, True)

但是我下载以后,输入正确的url和用户名以及密码后,报错:

raise TypeError, "cannot marshal None unless allow_none is enabled"

后来在wordpresslib.py中第129行稍微改动:

self._server = xmlrpclib.ServerProxy(self.url,allow_none=True)

添加“,allow_none=True”即可。

Python中小tips

有这样一个字符串:z=”3″;m=”4″;k=”2″;l=”9″;d=”0″;b=”5″;i=”7″;w=”6″;r=”8″;c=”1″ 在程序中需要把一部分文本中的字母替换成对应的数字。

首先把字符串中的双引号删除:

str.replace('''"''',"")

'z=3;m=4;k=2;l=9;d=0;b=5;i=7;w=6;r=8;c=1'

str.split(";")

['z=3', 'm=4', 'k=2', 'l=9', 'd=0', 'b=5', 'i=7', 'w=6', 'r=8', 'c=1']

str = dict(k.split("=") for k in str)

{'c': '1', 'b': '5', 'd': '0', 'i': '7', 'k': '2', 'm': '4', 'l': '9', 'r': '8', 'w': '6', 'z': '3'}

一行命令的话:

str = dict(k.split('''=''') for k in str.replace('''"''','''''').split(''';'''))

OK 一个对应完备的dict已经出来了。