Python進階----文件讀、寫
函數open:文件讀寫,默認讀模式
open(路徑文件名.后綴名)
eg:file = open('D:\\tes.txt')
content = file.read()
print(content)
file.close()
讀:
read():從文檔開始位置讀取
readline():讀取一行內容,文件指針在哪里就從哪里開始讀取一行
readlines():讀取文件所有行的內容成為列表,每一行都是列表中的一個元素,包含換行符\n
r:只讀
r+:可讀可寫,不會創建不存在的文件,從頂部開始寫,會覆蓋之前此位置的內容
eg:file = open('tes.txt','r+',encoding= 'utf-8')
file.write('aaa')
file.close()
w+:可讀可寫,如果文件存在,則覆蓋整個文件,不存在則創建
eg:file = open('tes.txt','w+',encoding= 'utf-8')
file.write('aaa')
content = file.read()
print(content)
file.close()
w:只能寫,覆蓋整個文件,不存在則會創建
eg:file = open('tes.txt','w',encoding= 'utf-8')
file.white('aaa')
file.close()
a:只能寫,從文件底部添加內容,不存在則創建
eg:file = open('tes.txt','a',encoding= 'utf-8')
file.write('aaa')
file.close()
a+:可讀可寫 從文件頂部讀取內容 從文件底部添加內容 不存在則創建
eg:file = open('tes.txt','a+',encoding= 'utf-8')
file.write('aaa')
file.close() 寫入內容
eg:file = open('tes.txt','a+',encoding= 'utf-8')
print(file.tell)
file.seek(0)
print(file.tell)
寫:
write只能寫入一個字符串
writelines:可以寫入多行,傳入一個列表
移動光標指針:seek
file.seek(0)
獲取文件指針位置:tell
file.tell()
with open:默認文件讀寫結束后自動關閉,同時可以讀寫多個文件
csv文件讀寫:文件后綴名為.csv
import csv
a = csv.reader(open('D:/文件名'))
for row in a:
print(row)
寫入時會默認形成一個空行
異常處理:
代碼出現錯誤,解釋器會中斷當前模塊代碼的執行;
異常捕獲:try
try:
異常內容
except 捕獲異常
(1)捕獲指定異常類型:
eg:try:
sfzs
5 / 0
except NameError
print("NameError")
(2)捕獲指定多種異常類型:
eg:try:
print("hello")
xzfcdz
5 / 0
except NameError
print("NameError")
except ZeroDivisionError
print("ZeroDivisionError")
(3)捕獲異常的詳細信息:
eg:try:
print("hello")
xzfcdz
漢字
except NameError as e
print("NameError",e)
except ZeroDivisionError as e
print("ZeroDivisionError",e)
(4)捕獲任意類型異常:Exception
eg:try:
5 / 0
sdgsv
except Exception:
print("捕獲所有異常")
eg:try:
5 / 0
sdgsv
except Exception as e:
print("捕獲所有異常",e)
eg:try:
5 / 0
sdgsv
except:
print("捕獲所有異常",traceback.format_exc())
捕獲所有異常類型,等價於except Exception,並輸出異常詳細信息
異常拋出:raise
else:出現異常不會執行
finally:代碼不論有無異常都會執行