初識python 檔案讀取 儲存

2022-02-27 12:38:03 字數 3351 閱讀 6717

上一章最後一題的答案:

infors.sort(key=lambda x:x['age'])

print(infors)

--->[, , ]

可以用open函式開啟乙個已經存在的檔案或者建立乙個新的檔案,

open('檔名','訪問模式)

f = open('test.txt','w')

訪問模式說明r

以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

close()

#

新建乙個檔案,檔名為:test.txt

f = open('

test.txt

', 'w'

)

#關閉這個檔案

f.close()

我有乙個 1.text 的文件,文件裡面的內容是

'''python just let be 

i fell in love with you watching casablanca '''

接下來我要對這個文件進行操作

使用read(num)可以從檔案中讀取資料,num表示要從檔案中讀取的資料的長度(單位是位元組),如果沒有傳入num,那麼就表示讀取檔案中所有的資料

f = open('1.txt','r')

text = f.read(7) #長度為7

print(text)

f.close()

--->python

如果使用讀了多次,那麼後面讀取的資料是從上次讀完後的位置開始的f = open('

1.txt

','r')

text = f.read(7)

print

(text)

postion =f.tell() #tell()可以檢視當前閱讀到的位置

print

(postion)

text_2 = f.read(4)

postion_2 =f.tell()

print

(text_2)

print

(postion_2)

f.close()

--->

python

7just

11

readlines可以按照行的方式把整個檔案中的內容進行一次性讀取,並且返回的是乙個列表,其中每一行的資料為乙個元素

text =f.readlines()

for i in

text:

print

(i)f.close()

--->

python just let be

i fell in love with you watching casablanca

使用write()可以完成向檔案寫入資料 

f = open('

test.txt

', 'w'

)f.write(

'hello world, i am here!')

f.close()

在讀寫檔案的過程中,如果想知道當前的位置,可以使用tell()來獲取

text = f.read(7)

print

(text)

postion = f.tell() #

tell()可以檢視當前閱讀到的位置

print

(postion)

text_2 = f.read(4)

postion_2 =f.tell()

print

(text_2)

print

(postion_2)

f.close()

--->python

7just

11

如果在讀寫檔案的過程中,需要從另外乙個位置進行操作的話,可以使用seek()

seek(offset, from)有2個引數

1 f = open('

1.txt

','rb')

23 str = f.read(6)

4 postion =f.tell()

5print

(str)

6print

(postion)

78 f.seek(-10,2) #from =2

9 str_2 =f.read()

10print

(str_2)

11 f.close()

--->

b'python'

6b'casablanca'

os模組中的rename()可以完成對檔案的重新命名操作

rename(需要修改的檔名, 新的檔名)

import

osos.rename(

'1.txt

','1_1.txt

')

import

osos.remove(

'1_1.txt

')

os.mkdir('test')

os.getcwd()

os.chdir('../')

os.listdir('../')

os.rmdir('test')

Python 讀取,儲存檔案

usr bin env python3.6 coding utf 8讀檔案f open test.txt 開啟檔案 data f.read 讀取檔案 print data oneline f.readline print oneline 讀取第一行 lines f.readlines 把內容按行讀取...

CSV檔案讀取儲存技巧

import pandas as pd 假設已經有一csv檔案train.csv,對其處理後儲存為train2.csv 直接儲存如下 train.to csv train2.csv 對train2.csv進行讀取 pd.read csv train2.csv header none 這樣讀取後會發現...

Python入門 15 檔案讀取 儲存

先看檔案讀取,open 1 檔案開啟模式 開啟模式 執行操作 r 以唯讀方式開啟檔案 預設 w 以寫入的方式開啟檔案,會覆蓋已存在的檔案 x 如果檔案已經存在,使用此模式開啟將引發異常 b 以二進位制模式開啟檔案 t 以文字模式開啟 預設 可讀寫模式 可新增到其他模式中使用 u 通用換行符支援 2 ...