存档

2010年5月 的存档

linux sz rz tools

2010年5月30日 评论已被关闭
虚拟机上最小化安装centos5.3,传文件时发现非常方便的rz 和sz没有安装上,于是手工安装。
wget http://mirrors.163.com/centos/5/os/i386/CentOS/lrzsz-0.12.20-22.1.i386.rpm
(一个好消息是163和sohu都有了开源镜像哦,速度飞快!)
rpm ivh lrzsz-0.12.20-22.1.i386.rpm
或者直接用yum安装。
yum install lrzsz
then in your securecrt or xshell terminal:
sz filename
rz
 
分类: linux 标签:

python解析xml的字符集问题的处理

2010年5月7日 3 条评论

python版本:2.6

案例一: test.xml
<?xml version=”1.0″ encoding=”utf8″?>
调用:
xmldoc = minidom.parse(test.xml)
报错:
Traceback (most recent call last):
  File “D:\project\src\myapp\src\xml\testdomxml.py”, line 14, in <module>
    xmldoc = minidom.parse(response)
  File “D:\Python\lib\xml\dom\minidom.py”, line 1918, in parse
    return expatbuilder.parse(file)
  File “D:\Python\lib\xml\dom\expatbuilder.py”, line 928, in parse
    result = builder.parseFile(file)
  File “D:\Python\lib\xml\dom\expatbuilder.py”, line 207, in parseFile
    parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: unknown encoding: line 1, column 30

修改后:test2.xml
<?xml version=”1.0″ encoding=”utf-8″?>
再次调用
xmldoc = minidom.parse(test2.xml)
没有问题了。 囧一个!

详细可见python bug 列表: http://bugs.python.org/msg63471

案例二:
xmldoc = minidom.parse(urllib.urlopen(‘http://rss.sina.com.cn/news/marquee/ddt.xml’))
正常调用

xmldoc = minidom.parse(urllib.urlopen(‘http://news.163.com/special/00011K6L/rss_newstop.xml”))
报错:
  File “D:\Python\lib\xml\dom\expatbuilder.py”, line 207, in parseFile
    parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: unknown encoding: line 1, column 30

观察sina和163的两个rss源文件看,并未发现特别的异常,不过将163的保存为文件rssnew163.xml,在其头部添加
<?xml version=”1.0″ encoding=”utf-8″?>
然后再调用
xmldoc = minidom.parse(“rssnew163.xml”)
问题解决,看来还是字符编码的问题了。
对于使用urllib实时更新rss的就需要预先处理一下了,先保存rss文件,然后添加上述行,或者将xml文件转换成utf-8编码即可。

分类: python 标签: ,

SHELL中的2进制、10进制、8进制、16进制之间的转换

2010年5月4日 评论已被关闭

一、16进制转换成10进制
printf %d 0xF
15
或者
echo $((16#F))
15

二、10进制转换成16进制
printf %x 15
f
或者
echo “obase=16;15″|bc
F

三、10进制转换成8进制
printf %o 9
11

四、8进制转换成10进制
echo $((8#11))
9

五、同理二进制转换成10进制
echo $((2#111))
7

六、10进制转换成二进制
echo “obase=2;15″|bc
1111

分类: linux, OpenSource, shell 标签: