python學習筆記(四)檔案操作和集合

2021-09-24 01:40:02 字數 3383 閱讀 2340

python學習筆記(四)檔案操作和集合

檔案基本操作:

現有檔案file.txt

1 f=open('file.txt','r')#以唯讀方式開啟乙個檔案,獲取檔案的控制代碼,如果是讀的話,r可以不寫,預設就是唯讀;檔案不存在時,會報錯

2 first_line=f.readline()#獲取檔案的第一行內容,返回的是乙個list

3 print(first_line)#列印第一行

4 res=f.read()#獲取除了第一行剩下的所有檔案內容

5 print(res)

6 f.open()#關閉檔案

7 f.read()#讀取檔案裡面所有的內容,返回的是字串

8 f.readline()#只讀取一行的內容,返回的是字串

9 f.readlines()#讀取檔案裡面所有的內容,返回的是乙個list #list裡每個元素是每行的資料

10 f.write()#只能寫字串

11 f.writelines()寫可迭代物件

開啟檔案時,需要指定檔案路徑和以何等方式開啟檔案,開啟後,即可獲取該檔案控制代碼(控制代碼理解為該檔案),後面通過此檔案控制代碼對該檔案操作,

開啟檔案的模式有:

r,唯讀模式(預設)

w,只寫模式。【不可讀;不存在則建立;存在則刪除以前的內容,然後寫入新的內容】

a,追加模式。【不可讀;不存在則建立;存在則只追加內容】

「+」表示可以同時讀寫某個檔案:

r+,【可讀,可寫;可追加,如果開啟的檔案不存在的話,會報錯】

w+,【寫讀模式,使用w+的話,已經存在的檔案內容會被清空,可以讀到已經寫的檔案】

a+,【追加讀寫模式,不存在則建立;存在則只追加內容】

1 f=open('ybq.txt','a+',encoding='utf-8')

2 f.seek(0)#seek移動指標的時候,只對讀好使,對寫不好使

3 print(f.read())#讀取檔案裡面的全部內容

4 f.write('yunbenking'+'\n')

5 f.truncate()#清空檔案內容

6 f.tell()#檢視當前檔案指標的位置

7 print(f.readline())#只讀取一行的內容

8 print(f.readlines())#讀取檔案裡面的所有內容,把檔案裡面每一行的內容放到乙個list

9 for k in f:

10 print(k)

11 names=['ybq','mpp','tlx','ply','yjy']

12 st='ybq,mpp,tlx'

13 tu=('sdf','sdfs','sdfsd')

14 f.write(names)#必須是字串型別

15 f.writelines(names)#寫入的時候,傳入乙個可迭代物件就行了

16 f.close()

寫入檔案的方法:

方法一:write將list寫入檔案,write寫入字串

1 names=['a','b','c']

2 for name in names:

3 f.write(name)

方法二:writelines直接寫入,writelines傳入可迭代物件,會先迴圈

1 names=['a','b','c']

2 f.writelines(names)

1 s='dingfei,123456'

2 f.write(s)#直接寫入字串,所以可以直接寫入,效率高

3 f.writelines(s)#寫入可迭代物件,所以先迴圈字串,所以效率不高

1 import time

2 f=open('hahah','w')

3 f.write('sdfggg')

4 f.flush()#立即把緩衝區裡面的內容寫到磁碟裡面,寫入的時候需要緩衝區滿了才會寫到磁碟裡

5 time.sleep(50)

with的用法

1 with open('a.txt','w') as gy:

2 gy.write('hhh')#自動的當檔案不在用時直接關掉

3 4

5 6 #開啟多個檔案

7 with open('a.txt','w') as gy,open('b.txt') as gy2:

8 gy.write('hhh')

9 gy2.write('sdfs')

1 f=open('5.png','rb')#bytes,以二進位制模式開啟

2 print(f.read())

集合:

集合也是一種資料型別,乙個類似列表的東西,它的特點是無序的,不重複的,也就是說集合中是沒有重複的資料。天生去重!

集合的作用:

1.它可以把乙個列表中重複的資料去掉,不需要再寫判斷

2.可以做關係測試。取交集,並集,差集

定義集合:

1 s=set()#定義了乙個空的集合

2 s2=#這種方式是直接定義乙個集合;如果有冒號是字典,沒有冒號就是集合

3 list=[2,3,1,2,3,4]

4 s_list=set(list)#這樣就定義了乙個集合

5 set1=set([1,3,4,5,6])#這種方式和上面的都是把list轉換成乙個集合

集合操作:

1 list1=

2 list2=

3 list3=

4 print(list1.intersection(list2))# 取交集,也就是取list1和list2中都有的

5 print(list1&list2)# 取交集,也就是取list1和list2中都有的

6 print(list1.union(list2))# 取並集,也就是把list1和list2合併了,然後去除重複的

7 print(list1 | list2)# 取並集

8 print(list1.difference(list2))#取差集 在list1中存在,在list2中沒有的

9 print(list1 - list2)

10 list1.add(888)#新增元素

11 list1.update([777,666,666])#新增元素

12 list1.remove(777)#刪除元素,如果元素不存在會報錯

13 list1.pop()#刪除乙個隨機的元素,並返回刪除的元素

14 list1.discard('dddd')#如果刪除的元素存在,刪除,不存在不做處理

Python學習筆記 四 檔案操作

讀取鍵盤輸入 buf raw input please input your name buf raw input 開啟檔案 如果hello.txt不存在 fp open hello.txt w w是說建立這個檔案,以寫的方式開啟 fp.write text fp.close 如果hello.txt...

Python學習筆記(四) 檔案讀取

教程 莫煩python 環境 pycharm 寫開啟 寫入內容 text this is a test.nthe second line nfinal line my file open myfile.txt a 以寫形式開啟檔案 my file.write text 往檔案裡寫內容 my file...

PYTHON學習筆記(十) 檔案操作

1.檔案讀寫 檔案讀寫步驟 開啟檔案 open 檔名稱 開啟方式 檔案開啟方式 檔案的操作 開啟檔案 open 預設的編碼是gbk,也就是中文編碼 也可以在開啟檔案時給它指定乙個編碼型別 w模式會在檔案已存在的情況下,會將檔案原來的內容覆蓋 fobj open test.txt w encoding...