as f报错 open with_一篇文章了解python常见内置异常报错
我們?cè)趯?xiě)python程序的時(shí)候經(jīng)常會(huì)遇到一些報(bào)錯(cuò)信息(異常),有一些可能是人為進(jìn)行的定義,有一些則是python內(nèi)置的一些異常信息,接下來(lái)我們來(lái)了解一下這些常見(jiàn)的異常一些,也能夠在我們遇到問(wèn)題的時(shí)候能夠更好更快的定位到問(wèn)題。
SyntaxError
SyntaxError是非常常見(jiàn)的一種問(wèn)題,一般我們也能很快看出來(lái),這是python的語(yǔ)法錯(cuò)誤,是指我們寫(xiě)的代碼語(yǔ)法錯(cuò)了,一般的編譯工具也會(huì)給出錯(cuò)誤提示,很好定位并改正。
if 5>2;print(True)--------------------------------------------->>> if 5>2;>>> ^>>>SyntaxError:?invalid?syntaxNameError
NameError是指某個(gè)變量在python中未進(jìn)行定義錯(cuò)誤,所以代碼無(wú)法識(shí)別出這個(gè)變量是什么,就好比每個(gè)人都需要有戶(hù)口,身份證一樣,否則別人不能夠明確認(rèn)識(shí)到你。
print(a)------------------------------------------------>>> print(a)>>>NameError: name 'a' is not definedTypeError
類(lèi)型錯(cuò)誤,python有幾種基礎(chǔ)的數(shù)據(jù)類(lèi)型,每種類(lèi)型有各自的一些特殊用法,不能夠張冠李戴,在使用某種方法的時(shí)候,注意這種數(shù)據(jù)類(lèi)型是否支持。
a = '123'print(a+1)----------------------------------------------------->>> print(a+1)>>>TypeError: must be str, not intIndentationError
縮進(jìn)錯(cuò)誤,嚴(yán)格意義來(lái)說(shuō)這也屬于語(yǔ)法錯(cuò)誤的一種,但是比較常見(jiàn),pyhon不同于java,語(yǔ)法格式需要縮進(jìn)空格,縮進(jìn)空格字符不對(duì)應(yīng)則會(huì)報(bào)這個(gè)錯(cuò)誤。
if 5>2:print(True)-------------------------------------------->>> print(True)????????^>>>IndentationError: expected an indented blockIndexError
索引錯(cuò)誤,經(jīng)常可能出現(xiàn)我們?cè)谧x取列表某個(gè)下標(biāo)的元素的時(shí)候發(fā)生的一些錯(cuò)誤。例如如下,索引最大為3,此時(shí)索引為3,則數(shù)組超標(biāo)的錯(cuò)誤。
list1 = ['a','b',3]print(list1[3])-------------------------------------------->>> print(list1[3])>>>IndexError:?list?index?out?of?rangeFileNotFoundError
找不到文件錯(cuò)誤,即當(dāng)我們讀取或者操作某文件時(shí),我們定義的路徑下并沒(méi)有此文件。
f = open(r'E:\Python\selenium\readmine.txt','r')------------------------------------------------->>> f = open(r'E:\Python\selenium\readmine.txt','r')>>>FileNotFoundError: [Errno 2] No such file or directory: 'E:\\Python\\selenium\\readmine.txt'ModuleNotFoundError導(dǎo)包錯(cuò)誤,導(dǎo)入一個(gè)不存在的包。
import oss---------------------------------------------->>> import oss>>>ModuleNotFoundError: No module named 'oss'KeyError
映射中鍵錯(cuò)誤,例如一個(gè)字段,讀取一個(gè)不存在的key。
dict1 = {'a':1,'b':2}print(dict1['c'])--------------------------------------------->>> print(dict1['c'])>>>KeyError: 'c'ValueError
映射中值錯(cuò)誤,調(diào)用一個(gè)不存在的值。
str1 = 'abcde'print(str1.index('f'))----------------------------------------------------->>> print(str1.index('f'))>>>ValueError: substring not foundAttributeError
屬性錯(cuò)誤,調(diào)用對(duì)象不存在的一個(gè)方法屬性時(shí)將報(bào)這個(gè)錯(cuò)誤。
str1 = 'abcde'print(str1.append('f'))---------------------------------------------------->>> print(str1.append('f'))>>>AttributeError:?'str'?object?has?no?attribute?'append'UnicodeDecodeError
解碼錯(cuò)誤,這種錯(cuò)誤經(jīng)常在讀取文件時(shí)報(bào)錯(cuò)。
f = open(r'./readmine.txt','r',encoding='gbk')print(f.readlines())----------------------------------------------->>> print(f.readlines())>>>UnicodeDecodeError:?'gbk'?codec?can't?decode?byte?0xab?in?position?14:?illegal?multibyte?sequence精彩推薦python之os模塊總結(jié)之原來(lái)我不止帥還這么有用python中裝飾器是如何實(shí)現(xiàn)的,企業(yè)中用來(lái)做什么呢python之lambda函數(shù)使用python控制語(yǔ)句運(yùn)用python方法及面向?qū)ο?p>關(guān)注本號(hào),教你更多測(cè)試技能 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的as f报错 open with_一篇文章了解python常见内置异常报错的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: get request uni 参数_接
- 下一篇: 简单实例使用_一个关于jmeter的使用