1.3定位讀取
2.模組(module)及目錄操作
檔案操作的流程
序號用途
方法功能
1開啟/關閉
f=open(file)
開啟檔案
2close()
關閉檔案
3讀寫檔案內容
f.read([size])
從檔案中讀取指定的位元組數:若未指定,讀取所有
4f.readline([size])
讀取整行,包括"\n"
5f.readlines([size])
讀取所有行,並返回列表
6f.write(str)
將字串寫入檔案,並返回字串長度
7f.writelines(str)
向檔案中寫入乙個序列字串列表。如果需要換行,需要自己加入換行符
8f.flush()
重新整理檔案緩衝,直接把內部緩衝的資料寫入檔案
9檔案定位
f.seek(offset)
設定檔案的當前位置,即指標位置
10f.tell()
返回檔案的當前位置,即指標位置
格式:
file_object=
open
(file,[
,mode],[
,encoding=
"utf-8"],
[,buffering]
)
解釋
#與py檔案在同一目錄
f=open
('./date/greenflowerporcelain.txt'
,'r'
)f.read(
)print
(f.name)
print
(f.mode)
print
(f.closed)
f.close(
)print
(f.closed)
檔案物件的屬性屬性
描述f.name
返回檔案的名稱
f.mode
返回檔案的訪問模式
f.closed
如果檔案已經關閉,返回true;否則false
mode表模式
描述r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。
r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
關閉
f.close()
可以節約記憶體資源
readline()
readlines()
f.tell()
f.seek()
開發過程中,程式**會越來越多,如果直接放在乙個檔案裡,**會越來越長。–>**不易維護
為了編寫方便維護的**,可以吧不同功能的**分組,儲存在不同的檔案裡。這樣每個檔案包含的**量就會比較少,方便維護
在python中,乙個.py檔案就可以稱為乙個模組即:
使用的模組的優點:
避免變數名重複
python中匯入模組的常用方式:
import 模組名稱
import 模組名稱 as 新名稱
from 模組名稱 import 函式名
區別:
from 模組名稱 import 函式名
import random
random.random(
)from random import
*random(
)
注意
import語句的對應模組順序(pep) 程式最上方
operator system
os模組是python標準庫中用於訪問作業系統功能的模組。
使用os模組提供的介面,能實現跨平台訪問。
最常見的操作
os.name:先視我們正在使用的平台
os.getenv()–>讀取環境變數
os.getcwd()–>獲取當前路徑
os.mkdir(
'a')
os.makedirs(
'f:\python\程式/a1'
)
os.rmdir(
'date'
)os.removedirs(
'f:\python\程式\date'
)#[winerror 145] 目錄不是空的。
import os
print
(os.getcwd())
os.chdir(
'..'
)print
(os.getcwd())
#f:\python\程式
#f:\python
#..表示上一級
print
(os.path.exists(
'date'))
#true
print
(os.path.getsize(
'one.txt'))
#6154
print
(os.path.dirname(
'f:\python\程式\date\one.txt'))
#f:\python\程式\date
print
(os.path.basename(
'f:\python\程式\date\one.txt'))
#one.txt
print
(os.path.abspath(
'one.txt'))
#f:\python\程式\one.txt
print
(os.path.join(
'f:\python\程式\date'
,'one.txt'))
#f:\python\程式\date\one.txt
print
(os.path.split(
'f:\python\程式\date\one.txt'))
#('f:\\python\\程式\\date', 'one.txt')
import time
a=os.path.getmtime(
'one.txt'
)print
(time.strftime(
'%y-%m-%d-%x'
,time.localtime(a)))
print
(time.strftime(
'%y-%m-%d-%x'
,time.localtime(os.path.getatime(
'one.txt'))
))print
(time.strftime(
'%y-%m-%d-%x'
,time.localtime(os.path.getctime(
'one.txt'))
))'''2019-07-22-11:02:58
2019-07-22-17:08:58
2019-07-22-17:08:17
'''
import os
#.代表從當前資料夾開始 ..帶表從上級資料夾開始
path=os.walk(
'..'
)for i in path:
print
(i)
Python 五 模組與檔案操作
模組是包含python定義和語句的檔案,把一組相關函式或 組織到乙個檔案中,乙個檔案即乙個模組.模組的檔名 模組名 字尾.py 模組之間 共享,可以相互呼叫,實現 重用.import 模組名 匯入乙個模組 import 模組名1 模組名2 模組名3 匯入多個模組模組和變數一樣也有作用域的區別,如果在...
Python 檔案操作 pickle模組
python中關於對檔案的操作存在這樣乙個問題 從檔案中讀取資料時返回的是字串。將各種型別的python物件寫入檔案是很容易的,但是將這些型別的資料從檔案中恢復出來是比較難的一件事。但是python提供的pickle模組可以幫助我們實現這樣的操作。pickle模組幾乎可以將所有的python物件都轉...
Python檔案操作模組shutil
shutil.copyfileobj fsrc,fdst length import shutil f1 open 1.txt r encoding utf 8 f2 open 2.txt w encoding utf 8 shutil.copyfileobj f1,f2 f1.close f2.c...