上一章最後一題的答案:
infors.sort(key=lambda x:x['age'])
print(infors)
--->[{'name': 'laowang', 'age': 23}, {'name': 'ab', 'age': 34}, {'name': 'bf', 'age': 43}]
能夠用open函數打開一個已經存在的文件或者建立一個新的文件,python
open('文件名','訪問模式)函數
f = open('test.txt','w')post
訪問模式 | 說明 |
---|---|
r | 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。 |
w | 打開一個文件只用於寫入。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。 |
a | 打開一個文件用於追加。若是該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容以後。若是該文件不存在,建立新文件進行寫入。 |
rb | 以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。這是默認模式。 |
wb | 以二進制格式打開一個文件只用於寫入。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。 |
ab | 以二進制格式打開一個文件用於追加。若是該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容以後。若是該文件不存在,建立新文件進行寫入。 |
r+ | 打開一個文件用於讀寫。文件指針將會放在文件的開頭。 |
w+ | 打開一個文件用於讀寫。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。 |
a+ | 打開一個文件用於讀寫。若是該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。若是該文件不存在,建立新文件用於讀寫。 |
rb+ | 以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。 |
wb+ | 以二進制格式打開一個文件用於讀寫。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。 |
ab+ | 以二進制格式打開一個文件用於追加。若是該文件已存在,文件指針將會放在文件的結尾。若是該文件不存在,建立新文件用於讀寫。 |
close()spa
# 新建一個文件,文件名爲:test.txt f = open('test.txt', 'w') # 關閉這個文件 f.close()
我有一個 1.text 的文檔,文檔裏面的內容是指針
'''Python just let be code
I fell in love with you watching Casablanca '''blog
接下來我要對這個文檔進行操做rem
使用read(num)能夠從文件中讀取數據,num表示要從文件中讀取的數據的長度(單位是字節),若是沒有傳入num,那麼就表示讀取文件中全部的數據文檔
f = open('1.txt','r')
Text = f.read(7) #長度爲7
print(Text)
f.close()
--->Python
若是使用讀了屢次,那麼後面讀取的數據是從上次讀完後的位置開始的f = open('1.txt','r')get
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
7
just
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)
使用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 7 just 11
若是在讀寫文件的過程當中,須要從另一個位置進行操做的話,能夠使用seek()
seek(offset, from)有2個參數
1 f = open('1.txt','rb') 2 3 str = f.read(6) 4 postion = f.tell() 5 print(str) 6 print(postion) 7 8 f.seek(-10,2) #from =2 9 str_2 = f.read() 10 print(str_2) 11 f.close()
--->
b'Python'
6
b'Casablanca'
os模塊中的rename()能夠完成對文件的重命名操做
rename(須要修改的文件名, 新的文件名)
import os os.rename('1.txt','1_1.txt')
import os os.remove('1_1.txt')
os.mkdir('test')
os.getcwd()
os.chdir('../')
os.listdir('../')
os.rmdir('test')