免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: nbfan

请教如何把文本文件保存成unicode格式? [复制链接]

论坛徽章:
0
发表于 2005-09-11 11:40 |显示全部楼层

请教如何把文本文件保存成unicode格式?

这个方法不行 .file.write()都写不了中文了。晕.
斑竹你实验没有/

论坛徽章:
0
发表于 2005-09-11 20:09 |显示全部楼层

请教如何把文本文件保存成unicode格式?

原帖由 "nbfan" 发表:
这个方法不行 .file.write()都写不了中文了。晕.
斑竹你实验没有/


你的代码怎么改的?有错误信息?出现什么现象?

你具体的情况我们无法了解,只能根据你的只言片语给你一些提示,如果不符合你的情况,也请你自己有些钻研的精神。。。

论坛徽章:
0
发表于 2005-09-12 12:42 |显示全部楼层

请教如何把文本文件保存成unicode格式?

代码如下

  1. # -*- coding: UTF-8 -*-
  2. import os,sys,string,codecs
  3. def filename(dir):
  4.     namelist=[]
  5.     filelist=os.listdir(dir)
  6.     for i in filelist:
  7.         if i[-4:]==".jpg":
  8.             namelist.append(i[:-4])
  9.     return namelist
  10. if __name__=="__main__":
  11.     file=codecs.open("config.txt", "w", "utf-8")
  12.     name=filename(os.getcwd())
  13.     file.write("&pics="+string.join(name,"|")+"&"+"\n")
  14.     file.write("&names="+string.join(name,".txt|")+".txt&")
  15.     #os.system('attrib +h config.txt')
  16.     file.close()

  17.    

复制代码


错误信息

  1. Traceback (most recent call last):
  2.   File "C:\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
  3.     exec codeObject in __main__.__dict__
  4.   File "D:\nbfan\MyDocuments\flash\触摸屏程序1\autoconfig.py", line 13, in ?
  5.     file.write("&pics="+string.join(name,"|")+"&"+"\n")
  6.   File "C:\Python24\lib\codecs.py", line 444, in write
  7.     return self.writer.write(data)
  8.   File "C:\Python24\lib\codecs.py", line 178, in write
  9.     data, consumed = self.encode(object, self.errors)
  10. UnicodeDecodeError: 'ascii' codec can't decode byte 0xca in position 8: ordinal not in range(128)
复制代码


请帮忙看看。

论坛徽章:
0
发表于 2005-09-12 15:22 |显示全部楼层

请教如何把文本文件保存成unicode格式?

try
  1. import os
  2. import sys
  3. import string
  4. import codecs

  5. def filename(dir):
  6.         namelist=[]
  7.         filelist=os.listdir(dir)
  8.         for i in filelist:
  9.                 if i[-4:]==".jpg":
  10.                         namelist.append(i[:-4])
  11.         return namelist
  12. if __name__=="__main__":
  13.         o_file = open("config.txt", "w")
  14.         name = filename(os.getcwd())
  15.         o_file.write( codecs.BOM_UTF16 )
  16.         for i in name:
  17.                 o_file.write(i.decode('gb2312').encode('utf16'))
  18.         o_file.close()
复制代码

论坛徽章:
0
发表于 2005-09-12 20:28 |显示全部楼层

请教如何把文本文件保存成unicode格式?

非常感谢wolfg 版主,中国关于python的问题我看也就在这里能找到答案。

  1. import os
  2. import sys
  3. import string
  4. import codecs

  5. def filename(dir):
  6.    namelist=[]
  7.    filelist=os.listdir(dir)
  8.    for i in filelist:
  9.       if i[-4:]==".jpg":
  10.          namelist.append(i[:-4])
  11.    return namelist
  12. if __name__=="__main__":
  13.    o_file = open("config.txt", "w")
  14.    name = filename(os.getcwd())
  15.    o_file.write( codecs.BOM_UTF16 )
  16.    o_file.write('&pics='.decode('gb2312').encode('utf16'))
  17.    for i in name:
  18.       o_file.write(i.decode('gb2312').encode('utf16'))
  19.       if i!=name[-1]:
  20.          o_file.write('|'.decode('ascII').encode('utf16'))
  21.    o_file.close()
复制代码


改了一下满足自己的要求。

论坛徽章:
0
发表于 2005-09-13 09:39 |显示全部楼层

请教如何把文本文件保存成unicode格式?

加了codecs.BOM_UTF16主要是为了满足你要求与windows的记事本一样,保存成unicode格式,用UltraEdit观察对比一下吧

http://evanjones.ca/python-utf8.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP