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...