蓝天,小湖,湖水中一方小筑

给iphone传电子书

没在iphone上找到好玩的游戏,只好拿它当电子书阅读器了。文章[转换文件名格式](http://hzmangel.cn/2008/03/16/%e8%bd %ac%e6%8d%a2%e6%96%87%e4%bb%b6%e5%90%8d%e6%a0%bc%e5%bc%8f/)说了怎么转换文件格式,其实文本的格式也 需要转换的。把用的脚本写出来吧。
首先,弄到的txt是用cterm从水木上弄下来的,理由很简单,cterm的F4下载太好用了,所以我就懒了,呵呵。然后用HFS(www.rejetto.co m/hfs/)开服务器,本来是想在iphone的SSH上直接wget的,费了好大力气找到了可用的 wget后下载居然是乱码,从文件名到内容,只好自力更生了。
用wget把文章弄到那台Linux机器上,在这需要提一下,HFS有可以直接打包下载文件夹的功能,把一个文件夹打成一个tar包传过来,很好用的功能。
下载下来后,解压。由于我的Linux的终端编码是utf8的,自然乱码就出来了先用convmv转文件名,转完后再用iconv转文本格式。由于iconv不能批量 转,所以写了个py脚本用来弄这个,诶,不会sh脚本的人只能这么玩了。

#!/usr/bin/python2.5

import glob
import os

filenames = glob.glob('*.txt')

for foo in filenames:
    tmp_name = foo.replace('Download\\', '')
    cmd_str = 'iconv -f gb18030 -t utf8 "%s" -o "%s"' % (foo, tmp_name)
    os.system(cmd_str)
    os.system('rm "%s"' % foo)
    print tmp_name

中间还加上了文件名转换的功能,因为解压时文件名多了点东西。 需要注意的就是那个cmd_str两个%s加上的引号,因为文件名中间有空格,所以如果不加的话命令执 行会出错。源目标格式选18030主要是怕有些特殊字符。等全转完后直接用scp拷到iphone就行了。SSH真的很好用,临了再感叹一下,Linux下的东西有些 真的是方便至极。