Python异常处理 AttributeError: 'dict' object has no attribute 'iteritems' Python里面的write()方法写入文件时候的乱码解决方法 Python3解决UnicodeDecodeError:'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte gensim导入问题

Python3.5中:iteritems变为items

Python里面的write()方法写入文件时候的乱码解决方法

为了为今后的大数据以及人工智能的大潮流的到来做准备,最近在学Python,在这个过程中,会遇到许多汉字之间的转换,今天在写write方法的时候,发现写入的汉字会出现乱码,百思不得其解,上网查众资料,,得出,原来在open打开文件的时候写一个

encoding="utf-8"即可,上代码
fos = open("index.text", "w", encoding="utf-8")
fos.write("我今年十八岁")
fos.close()

写入的时候务必以“w”写的方式打开,不然会报错

Python3解决UnicodeDecodeError:'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

有两种办法:

这个时候可以选择修改字符集参数,一般这种情况出现得较多是在国标码(GBK)和utf8之间选择出现了问题。
出现异常报错是由于设置了decode()方法的第二个参数errors为严格(strict)形式造成的,因为默认就是这个参数,将其更改为ignore等即可。例如:

html.decode('utf8','ignore')

gensim导入问题

安装gensim,在python中导入的时候出现一个警告:

Warning (from warnings module):
  File "D:python35libsite-packagesgensimutils.py", line 862
    warnings.warn("detected Windows; aliasing chunkize to chunkize_serial")
UserWarning: detected Windows; aliasing chunkize to chunkize_serial

在*中看到解决方法,输入下面两条语句即可:

>>> import warnings
>>> warnings.filterwarnings(action='ignore',category=UserWarning,module='gensim')
解决ImportError: No module named  tkinter的问题

1终端输入安装Tkinter:

python2:

sudo apt-get install python-tk 
python3:

sudo apt-get install python3-tk 

2安装tcl和tk
tcl和tk的下载地址:http://www.tcl.tk/software/tcltk/download.html
目前我下载的tcl/tk源代码包是 tcl8.6.8-src.tar.gz 和 tk8.6.8-src.tar.gz
(1) 安装tcl8.6.8-src.tar.gz:

tar -xzvf tcl8.6.8-src.tar.gz
cd tcl8.6.8/unix
执行./configure脚本生成makefile文件
./configure
编译
make
安装
sudo make install
(2)安装tk8.6.8-src.tar.gx:
执行./configure脚本生成makefile文件
./configure
编译:
make

编译时如果出现以下错误信息:
/home/xx/下载/tk8.6.8/unix/../generic/tk.h:96:25: 致命错误: X11/Xlib.h:没有那个文件或目录
编译中断。
make: *** [tk3d.o] 错误 1
由在终端运行:
sudo apt-get install libx11-dev
接着安装:
sudo make install
3把下面这个常用库都安装上:

sudo apt-get install autoconf curl libmysqld-dev libaio-dev libjpeg62-dev libpng12-dev libfreetype6-dev libssl-dev zlib1g-dev 
sudo apt-get install libbz2-dev libgdbm-dev 
sudo apt-get install sqlite3 libsqlite3-tcl libsqlite3-dev 
sudo apt-get install python-bsddb3 


4安装好后, 输入:

python

python2:
import Tkinter 
python3:
import tkinter 

如果第4步输入 import Tkinter  代码时,出现消息,那就就问题了,我们还需要进行下一步操作:
在终端执行 sudo apt-get install python3-tk再次重复第五步,输入 import tkinter  代码时没有出现任何消息,那就OK了。
Tkinter 在py2和py3中的使用差别

py2 与 py3 中 tkinter 的变化:

Tkinter → tkinter
tkMessageBox → tkinter.messagebox
tkColorChooser → tkinter.colorchooser
tkFileDialog → tkinter.filedialog
tkCommonDialog → tkinter.commondialog
tkSimpleDialog → tkinter.simpledialog
tkFont → tkinter.font
Tkdnd → tkinter.dnd
ScrolledText → tkinter.scrolledtext
Tix → tkinter.tix
ttk → tkinter.ttk