天天看點

python 進階

使用到的函數在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裝飾器

裝飾器是由函數去生成的,用于裝飾某個函數或者方法或者類,他可以讓這個函數在執行之前或者執行之後做一些操作。

  1. #!/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!")      

多個裝飾器裝飾同一個函數。

  1. #!/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異常處理

上一篇: XML 進階
下一篇: 進階GLSL