python的檔案處理

2021-08-10 02:02:07 字數 4076 閱讀 7826

f=open(『f.txt』,』w』) # r唯讀,w可寫,a追加 

for i in range(0,10): 

f.write(str(i)+』\n』) 

f.close()

//open是python的內建函式,有時候檔案由於編碼的不同,會造成亂碼,為了解決這個問題 

可以使用codecs模組來解決這個問題: 

import codecs 

fc=codecs.open(『f.txt』,』w』) 

其餘檔案物件的方法均可以使用fc.***()

import random 

f=open(『f.txt』,』a』) 

for i in range(0,10): 

f.write(str(random.randint(0,9))) 

f.write(『\n』) 

f.close()

import random 

f=open(『f.txt』,』a』) 

for i in range(0,10): 

for i in range(0,10): 

f.write(str(random.randint(0,9))) 

f.write(『\n』) 

f.close()

import sys 

sys.stdout = open(「stdout.txt」, 「w」)

檔案開啟: 

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

入口引數: name 檔名 

mode 選項,字串 

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

返回值 : 檔案物件 

mode 選項: 

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

「r+」能讀能寫,其它與r相同 

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

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

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

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

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

「w+」 能讀能寫,其它與w相同 

「x」 以寫的方式開啟,但與w模式不同的是,如果檔案已存在,會丟擲異常。 

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

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

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

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

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

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

「a」 以追加的模式開啟,可以寫檔案,如果檔案不存在,會先建立該檔案然後寫入內容。 

如果已存在,則追加寫入內容。

二、關閉檔案 

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 時, 表示將檔案指標指向從檔案的尾部,,向前移動 「偏移量」位元組。 

五、從檔案讀取指內容

六、向檔案寫入乙個字串 

f.write( s ) 

引數: s 要寫入的字串 

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

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

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

刪除檔案: 

import os 

os.remove(file)

python中對檔案、資料夾的操作需要涉及到os模組和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」) 判斷目標是否檔案

把乙個數字的list從小到大排序,然後寫入檔案,然後從檔案中讀取出來檔案內容,然後反序,在追加到檔案的下一行中

#!/use/bin/python2.7

#coding:utf-8

import random,codecs

list1=

while

len(list1)<11:

list1.sort()

with codecs.open('a.txt','w+') as f:

f.write(str(list1))

with codecs.open('a.txt','r+') as f1:

liststr=f1.read()

liststr=liststr.lstrip('[').rstrip(']\n').split(',')

liststr.reverse()

f1.write("\n"+str(liststr))

分別把 string, list, tuple, dict寫入到檔案中

a="aaa"

b=['b','b','b']

c=(c,d,e)

d=with

open codecs.open('b.txt','w') as f:

f.write(str(a))

f.write('\n')

f.write(str(b))

f.write('\n')

f.write(str(c))

f.write('\n')

f.write(str(d.items()))

f.write('\n')

python的檔案處理

1 什麼是檔案?檔案是作業系統為使用者或應用程式提供的乙個讀寫硬碟的虛擬單位 檔案的操作核心就 讀 寫 即我們只需要對於進行讀寫操作,就是對作業系統發起請求,然後由作業系統將使用者或者應用程式 對檔案的讀寫操作轉換成具體的硬碟指令 比如控制碟片轉動,控制機械手臂移動來讀寫資料 2 為什麼要有檔案?因...

python的檔案處理

01 檔案的開啟和關閉 開啟檔案 open 檔名,訪問模式 f open test.txt w 訪問模式 r w a rb wb ab r w a rb wb ab 關閉檔案 f.close 02 檔案的讀寫 寫資料f open test.txt w f.write hello world f.cl...

python的檔案處理

檔案的逐行讀入 fname input 請輸入要開啟的檔名稱 fo open fname,r txt fo.read 3 while txt txt fo.read 2 fo.close 檔案的逐行列印 fname input 請輸入要開啟的檔名稱 fo open fname,r for line ...