初識python 文件讀取 保存

上一章最後一題的答案:
infors.sort(key=lambda x:x['age'])
print(infors)
--->[{'name': 'laowang', 'age': 23}, {'name': 'ab', 'age': 34}, {'name': 'bf', 'age': 43}]

python基礎(三):

文件打開和關閉:

打開:

能夠用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()

 

 

文件讀寫:

讀(read):

我有一個 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)

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個參數

  • offset:偏移量
  • from:方向
    • 0:表示文件開頭
    • 1:表示當前位置
    • 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')

相關文章
相關標籤/搜索