使用到的函數在python3.5是open,在python2.7同時支援file和open
打開方式
檔案句柄=open('檔案路徑','打開模式')
檔案句柄相當于變量名。
打開檔案的模式
r :隻讀,檔案必須存在
w:隻寫,檔案不存在則建立,存在則清空
x:隻寫,檔案不可讀,不存在則建立,存在則報錯
a:追加, 檔案不存在則建立,存在則在末尾添加内容
r+:讀寫
w+:寫讀
x+:寫讀
a+:寫讀
rb:二進制讀
wb:二進制寫
xb:二進制隻寫
ab:二進制追加
以b方式打開的,讀取到的内容是位元組内心,寫入時也需要提供位元組類型
rb+:二進制讀寫
wb+:二進制讀寫
xb+:二進制隻寫
ab+:二進制讀寫
檔案讀取方式
read([size]):讀取檔案全部内容,設定了size,讀取size位元組
readline([size]):一行一行的讀取
readlines():讀取到的每一行内容作為清單中的一個元素
檔案寫入方式
write(str):将字元串寫如檔案
writelines(sequence or strings):寫多行到檔案,參數可以是一個可疊代的對象、清單、元組等。
檔案操作的方法
close
flush
isatty
readable
tell
seek
seekable
writable
同時打開多個檔案
避免打開檔案後忘記關閉,可以通過管理上下文
with open('log', 'r') as f:
statement
當with執行完畢時,内部會自動關閉并釋放檔案資源。
with又支援同時對多個檔案的上下文管理
with open('log1') as obj1, open('log2') as obj2:
python裝飾器
裝飾器是由函數去生成的,用于裝飾某個函數或者方法或者類,他可以讓這個函數在執行之前或者執行之後做一些操作。
-
#!/usr/bin/env python # _*_ coding: utf-8 _*_ def decorator(func): # 建立一個裝飾器函數,接受的參數arg參數就是func函數名 def inner(*args, **kwargs): print("執行函數之前") ret = func(*args, **kwargs) print("執行函數之後") return ret return inner @decorator # 如果要讓某個函數使用裝飾器,隻需要在這個函數上面加上@+裝飾器名 def func(arg): print(arg) func("Hello World!")
多個裝飾器裝飾同一個函數。
-
#!/usr/bin/env python # _*_ coding: utf-8 _*_ def decorator1(func): def inner(): print("開始之前執行裝飾器01") ret = func() print("結束之後執行裝飾器01") return ret return inner def decorator2(func): def inner(): print("decorator2>>>Start...") ret = func() print("decorator2>>>End...") return ret return inner @decorator1 @decorator2 def index(): print("執行函數...") index()
python正則
python字元串格式化
python疊代器生成器
python反射
python設計模式
python異常處理