Python報錯的解決方案(持續更新)

2021-08-13 22:38:31 字數 2886 閱讀 8078

syntaxerror: non-ascii character 『\xe6』 in file /study/…

解決方法:新增下面幾行**

#!/usr/bin/python

# coding=utf-8

或者 #!/usr/bin/python

# -- coding: utf-8 --

with

open(data_filepath) as f:

此處報錯unicodedecodeerror: 『utf-8』 codec can』t decode byte 0xb2 in position 94: invalid start byte

解決方法:因為utf-8無法讀取該檔案,需要指定編碼格式:

with

open(data_filepath, encoding="gb18030") as f:

from pyname import classname
出現紅線

解決方法:一定是工程下出現與pyname同名的檔案

讀txt檔案時,相同的檔案,在python2.7讀入沒有報錯,python3.5報錯如下:

'utf-8' codec can't decode byte 0xed

in position 0: invalid continuation bytes

解決方法:檔案中出現非utf-8編碼字元(類似於亂碼的字元),py2.7可以編譯通過,py3.5不行。(原因不知)

執行pyltp的語義角色標註時,報錯如下:

# -*- coding: utf-8 -*-

import os

from pyltp import parser

ltp_data_dir = './ltp_data'

# ltp模型目錄的路徑

srl_model_path = os.path.join(ltp_data_dir, 'srl') # 語義角色標註模型目錄路徑,模型目錄為`srl`。注意該模型路徑是乙個目錄,而不是乙個檔案。

parser = parser() # 初始化例項

from pyltp import sementicrolelabeller

labeller = sementicrolelabeller() # 初始化例項

labeller.load(srl_model_path) # 載入模型

words = ['元芳', '你', '怎麼', '看']

postags = ['nh', 'r', 'r', 'v']

arcs = parser.parse(words, postags) # 句法分析

roles = labeller.label(words, postags, arcs) # 語義角色標註

# 列印結果

for role in roles:

print role.index, "".join(

["%s:(%d,%d)" % (arg.name, arg.range.start, arg.range.end) for arg in role.arguments])

labeller.release() # 釋放模型

boost.python.argumenterror: python argument types in

sementicrolelabeller.label(sementicrolelabeller, list, list, vectorofparseresult)

did not

match c++ signature:

解決方法:labeller.label()傳遞引數型別與函式宣告中不一致,少傳了命名實體識別的結果,正確呼叫為roles = labeller.label(words, postags, netags, arcs) # 語義角色標註

執行如下**報錯:

import

queue

que =

queue()

typeerror: 'module'

object

is not callable

解決方法:

python匯入模組的方法有兩種,import module 和 from module import,區別是前者所有匯入的東西使用時需加上模組名的限定,而後者不要。

import

queue

que =

queue

.queue()

or

from queue

import

queue

que =

queue()

報錯 error (unicodeencodeerror): 『ascii』 codec can』t encode character u』\uff08』 in position 9: ordinal not in range(128)

解決方法:

python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報這樣的錯,python沒辦法處理非ascii編碼的,此時需要自己設定將python的預設編碼,一般設定為utf8的編碼格式。

在py檔案中新增如下**:

import sys 

reload

(sys)

sys.setdefaultencoding

('utf8')

VCS報錯與解決方案,持續更新

我使用的虛擬機器,系統是centos 6.5,vcs版本2014.03 1.在虛擬機器中每次之前可以用,後面再等一天開啟虛擬機器就會報錯。出現關於locak檔案的錯誤 我用下面的方法解決了問題,這個問題不能根本解決問題,只能每天要用vcs都得這樣做一下 先在終端使用命令 ps auxf grep l...

CXF報錯及解決方案

報錯資訊,是專案實施中遇到的問題。解決方案是基於網上各路豪俠的解決方案綜合得出的。1.org.apache.cxf.binding.soap.soapfault the namespace on the definitions element,is not a valid soap version....

ireport啟動報錯解決方案

ireport啟動報錯解決方案 ireport啟動報錯 ireport cannot find jdk jdk5.0 or newer cannot be found in your mathine 上網搜了些文章,試了試幾個關鍵字都沒有發現解決方法,最後想可能用en會好些 如此平凡的問題 果然,i...