作者Tiberius (渴望平凡的幸福)
看板Python
标题Re: [问题] 关於py读资料夹问题
时间Sun Nov 18 16:10:02 2007
※ 引述《tpqf (tpqf)》之铭言:
: 不好意思能否再请问一下
: 有没有办法可以使.py支援中文big5
: 或是Unicode
: 我是使用
: http://www.schiller.cc/blog/programming/uploadr2setpy/
: 的程式
: 只要我资料夹里面有中文就错乱了
: 有查过网路
: 蛮多什麽中文解决法
: 像是把str() 改成 big5str()
: 但是都会运作失败
: 有没有什麽办法解决
: 真是拜托了 >.<
先说,我没有 Flickr 帐号也没有中文档名,所以没得测试,以下全部是嘴炮 XD
==
下面是我觉得应该要改的地方
不知道你用的编辑器是什麽…能把 .py 存成 UTF-8 编码是最好
记事本另存新档的时候可以选 UTF-8, 或是用这个棒到不行的免费 EmEditor
(这边推荐 Vim 大概会被砍头吧 XD 扯远了)
首先在档头第一行加上
# coding: utf-8
(或是 # coding: big5 看你用哪种编码储存而定
==
然後把 IMAGE_DIR 改成 u"d:/temp/我的照片" 这种 string (开头有 u 的)
让 Python 用 unicode 处理目录名称跟档名
开头指定 tags 的地方依样画葫芦
FLICKR = {"title": "",
# 疑似没用到?
"description": "",
# 疑似没用到?
"tags":
u"标签 测试",
==
修改 def uploadImage( self, image, set ):
- photo = ('photo', image, open(image,'rb').read())
+ photo = ('photo', image
.encode('utf-8'), open(image,'rb').read())
- "tags" : str( FLICKR["tags"] ),
# 我很想知道他原本在想什麽 XD
+ "tags" : FLICKR["tags"]
.encode('utf-8')
修改 def createSet( self, title, photo_id ):
- api.title : str(title),
+ api.title : title
.encode('utf-8'),
==
先这样改看看能不能动吧…
不知道 photoset_id 跟 photo_id 需不需要改成 unicode aware
我猜应该不用才对
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.63.79
※ 编辑: Tiberius 来自: 59.126.63.79 (11/18 16:15)
1F:→ Tiberius:FLICKR["tags"] 後面也是 "encode" 才对 @@ 11/18 16:15