使用到的函數在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:
裝飾器是由函數去生成的,用于裝飾某個函數或者方法或者類,他可以讓這個函數在執行之前或者執行之後做一些操作。
<code>#!/usr/bin/env python</code>
<code># _*_ coding: utf-8 _*_</code>
<code>def</code> <code>decorator(func): </code><code># 建立一個裝飾器函數,接受的參數arg參數就是func函數名</code>
<code> </code><code>def</code> <code>inner(</code><code>*</code><code>args, </code><code>*</code><code>*</code><code>kwargs):</code>
<code> </code><code>print</code><code>(</code><code>"執行函數之前"</code><code>)</code>
<code> </code><code>ret </code><code>=</code> <code>func(</code><code>*</code><code>args, </code><code>*</code><code>*</code><code>kwargs)</code>
<code> </code><code>print</code><code>(</code><code>"執行函數之後"</code><code>)</code>
<code> </code><code>return</code> <code>ret</code>
<code> </code><code>return</code> <code>inner</code>
<code>@decorator</code> <code># 如果要讓某個函數使用裝飾器,隻需要在這個函數上面加上@+裝飾器名</code>
<code>def</code> <code>func(arg):</code>
<code> </code><code>print</code><code>(arg)</code>
<code>func(</code><code>"Hello World!"</code><code>)</code>
多個裝飾器裝飾同一個函數。
<code>def</code> <code>decorator1(func):</code>
<code> </code><code>def</code> <code>inner():</code>
<code> </code><code>print</code><code>(</code><code>"開始之前執行裝飾器01"</code><code>)</code>
<code> </code><code>ret </code><code>=</code> <code>func()</code>
<code> </code><code>print</code><code>(</code><code>"結束之後執行裝飾器01"</code><code>)</code>
<code>def</code> <code>decorator2(func):</code>
<code> </code><code>print</code><code>(</code><code>"decorator2>>>Start..."</code><code>)</code>
<code> </code><code>print</code><code>(</code><code>"decorator2>>>End..."</code><code>)</code>
<code>@decorator1</code>
<code>@decorator2</code>
<code>def</code> <code>index():</code>
<code> </code><code>print</code><code>(</code><code>"執行函數..."</code><code>)</code>
<code>index()</code>
python正則
python字元串格式化
python疊代器生成器
python反射
python設計模式
python異常處理
本文轉自ting2junshui51CTO部落格,原文連結:http://blog.51cto.com/ting2junshui/1893749 ,如需轉載請自行聯系原作者