python3 2筆記(程式設計)

2021-06-20 20:28:33 字數 2943 閱讀 1181

python中對檔案、資料夾的操作需要涉及到os模組和shutil模組。

一、檔案開啟:

f =open(name[, mode[, buffering]])

入口引數: name 檔名

mode 選項,字串

buffering 是否緩衝 (0=不緩衝,1=緩衝, >1的int數=緩衝區大小)

返回值 : 檔案物件

mode 選項:

"r" 以讀方式開啟,只能讀檔案 , 如果檔案不存在,會發生異常

"w" 以寫方式開啟,只能寫檔案, 如果檔案不存在,建立該檔案

如果檔案已存在,先清空,再開啟檔案

"rb" 以二進位制讀方式開啟,只能讀檔案 , 如果檔案不存在,會發生異常

"wb" 以二進位制寫方式開啟,只能寫檔案, 如果檔案不存在,建立該檔案

如果檔案已存在,先清空,再開啟檔案

"rt" 以文字讀方式開啟,只能讀檔案 , 如果檔案不存在,會發生異常

"wt" 以文字寫方式開啟,只能寫檔案, 如果檔案不存在,建立該檔案

如果檔案已存在,先清空,再開啟檔案

"rb+" 以二進位制讀方式開啟,可以讀、寫檔案 , 如果檔案不存在,會發生異常

"wb+" 以二進位制寫方式開啟,可以讀、寫檔案, 如果檔案不存在,建立該檔案

如果檔案已存在,先清空,再開啟檔案

二、關閉檔案

f.close()

當檔案讀寫完畢後,應關閉檔案。

三、清空檔案內容

f.truncate()

注意:僅當以 "r+" "rb+" "w" "wb" "wb+"等以可寫模式開啟的檔案才可以執行該功能。

四、檔案的指標定位與查詢

(1)檔案指標:

檔案被開啟後,其物件儲存在 f 中, 它會記住檔案的當前位置,以便於執行讀、寫操作,這個位置稱為檔案的指標( 乙個從檔案頭部開始計算的位元組數 long 型別 )。

(2)檔案開啟時的位置:

以"r" "r+" "rb+" 讀方式, "w" "w+" "wb+"寫方式 開啟的檔案,

一開始,檔案指標均指向檔案的頭部。

(3) 獲取檔案指標的值:

l = f.tell()

(4) 移動檔案的指標

f.seek( 偏移量, 選項 )

選項 =0 時, 表示將檔案指標指向從檔案頭部到 "偏移量"位元組處。

選項 =1 時, 表示將檔案指標指向從檔案的當前位置,向後移動 "偏移量"位元組。

選項 =2 時, 表示將檔案指標指向從檔案的尾部,,向前移動 "偏移量"位元組。

五、從檔案讀取指內容

1 文字檔案(以"rt"方式開啟的檔案)的讀取

s = f.readline( )

返回值: s 是字串,從檔案中讀取的一行,含行結束符。

說明: (1) 如果 len( s ) =0 表示已到檔案尾

(2) 如果是檔案的最後一行,有可能沒有行結束符

2 二進位制檔案(以"rb"、"rb+"、"wb+" 方式開啟的檔案)的讀取

s = f.read( n )

說明: (1) 如果 len( s ) =0 表示已到檔案尾

(2) 檔案讀取後,檔案的指標向後移動 len(s) 位元組。

(3)如果磁軌已壞,會發生異常。

六、向檔案寫入乙個字串

f.write( s )

引數: s 要寫入的字串

說明: (1) 檔案寫入後,檔案的指標向後移動 len(s) 位元組。

(2)如果磁軌已壞,或磁碟已滿會發生異常。

返回值: s 是字串,從檔案中讀取的內容

檔案 - 寫文字檔案的例子

f = open( "c:", "wt" );

for a in range( 0, 10 ):

b = a*a

s = "%5d %5d/r/n" % (a,b)

f.write( s )

f.close()

input("?")

執行這段**後,開啟 c:/123.txt檔案,其內容是:

0 01 1

2 43 9

4 16

5 25

6 36

7 49

8 64

9 81

import os

import shutil建立檔案:

1) os.mknod("test.txt") 建立空檔案

2) open("test.txt",w) 直接開啟乙個檔案,如果檔案不存在則建立檔案

建立目錄:

os.mkdir("file") 建立目錄

複製檔案:

shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是檔案

shutil.copy("oldfile","newfile") oldfile只能是資料夾,newfile可以是檔案,也可以是目標目錄

複製資料夾:

shutil.copytree("olddir","newdir") olddir和newdir都只能是目錄,且newdir必須不存在

重新命名檔案(目錄)

os.rename("oldname","newname") 檔案或目錄都是使用這條命令

移動檔案(目錄)

shutil.move("oldpos","newpos")

刪除檔案

os.remove("file")

刪除目錄

os.rmdir("dir") 只能刪除空目錄

shutil.rmtree("dir") 空目錄、有內容的目錄都可以刪

轉換目錄

os.chdir("path") 換路徑

判斷目標

os.path.exists("goal") 判斷目標是否存在

os.path.isdir("goal") 判斷目標是否目錄

os.path.isfile("goal") 判斷目標是否檔案

笨辦法學python 習題32 筆記

for迴圈 for 變數 in列表 過程例如 for x in cla 迴圈語句for 自定義的x拿來迴圈獲得cla裡面的值 range 的用法 range stop range start,stop step start 計數從 start 開始。預設是從 0 開始。例如range 5 等價於ra...

STM32筆記記錄

串列埠記錄 stm32有好幾個串列埠。比如說stm32f103zet6有5個串列埠,串列埠1的引腳對應的io為pa9,pa10.pa9,pa10預設功能是gpio,所以當pa9,pa10引腳作為串列埠1的tx,rx引腳使用的時候,那就是埠復用。復用埠初始化有幾個步驟 1 gpio埠時鐘使能。要使用到...

Socket程式設計(5)筆記

解析伺服器ip位址 客戶端軟體設計過程中,使用者使用網域名稱是或點分標識,需要將yuing或ip位址轉換為32位ip位址。兩個函式 解析伺服器端口號 客戶端可能使用服務名 如http 標識伺服器端口,需要轉為埠號 解析協議號 需將協議名轉為協議號 tcp客戶端軟體流程 1 確定伺服器的ip位址和埠號...