我用python将结果写入txt文件出现的编码问题及其解决方法

问题描述:

       从workbench中导出了一张数据表的sql脚本,把扩展名改为.py,在第一行加上#!/usr/bin/python,第二行加上
# -*- coding: utf-8 -*-,将无关内容删除,只留下元组格式的数据部分(含有汉字),用vi编辑器将圆括号全部替换成方括号。数据成为了n维数组,将其赋值给变量a,在数据后边编写python语句,

for i in range(len(a)):
   del a[i][6]
b = str(a)
file = open('test.txt','w+')
file.write(b)
file.close()

将每个子数组特定位置的元素删除,将结果写入txt文件。结果txt文件中的汉字全部成为'\xe9\x85\x92\xe7\xb1\xbb'这样的编码字符,诸多尝试,仍无法将python的输出结果直接显示成汉字。

解决方法:

       将text.txt中的n维数组外边加上双引号(不能是单引号,因为数组内部已经有了单引号),赋值给变量b,b就成了字符串。后边加上以下代码:

file = open('final.txt','w+')
file.write(b)
file.close()

将text.txt扩展名改为.py,在终端中执行它,就生成了final.txt,里面的汉字能正常显示了。

总结一下:first.sql(first.py)--->middle.txt(middle.py)--->final.txt

你可能感兴趣的:(我用python将结果写入txt文件出现的编码问题及其解决方法)