python 文件操做與集合

對文件的操做python

 一、打開文件,獲取句柄編碼

 二、根據句柄操做文件spa

 三、關閉文件指針

現有文檔 poem.txtcode

一天很短,
短得來不及擁抱清晨,
就已經手握黃昏。

一年很短,
短得來不及細品初春殷紅竇綠,
就要打點素裹秋霜。

一輩子很短,
短的來不及享用美好年華,
就已經身處遲暮。

老是通過的太快,
領悟的太晚,
咱們要學會珍惜。
珍惜人生路上的親情、友情、
同事情、同窗情、朋友情。
一旦擦身而過,
也許永不邂逅

  對文件的基礎操做blog

 1 R = open('poem.txt', 'r')  #以只讀的發方式打開文件,能夠不加'r',默認是隻讀
 2 
 3 first_line = R.readline() #讀取文件第一行,返回一個list
 4 
 5 print(first_line)
 6 
 7 Res = R.read() #獲取除了第一行外餘下的段落
 8 
 9 print(Res)
10 
11 R.close()

打開文件的模式內存

1 r   #只讀(默認)
 
3 w   #只寫【不可讀,不存在則建立,存在則刪除內容】
 
5 a   #追加【不可讀,不存在則建立,存在則只追加內容】

‘+’ 表示能夠同時讀寫utf-8

 1 r+ [可讀、可寫、可追加,若是打開的文件不存在,則報錯] 2w+ [寫讀模式,已經存在的內容清空,能夠讀到寫的內容] 3 a+ [追加讀寫模式,不存在則建立,存在則只追加內容] rem

文件的操做方法文檔

 1 R = open('poem.txt', 'r+', encoding = 'utf-8')
 2 
 3 R.readline()      #讀第一行
 4 
 5 R.readable()      #判斷文件是否可讀,返回一個布爾類型
 6 
 7 R.writable()      #判斷文件是否可寫,返回一個布爾類型
 8 
 9 R.encoding        #打印文件編碼格式
10 
11 R.read()          #讀取全部文件內容,若是文件過大,慎重使用
12 
13 R.readlines()     #讀取全部文件,返回一個list,元素是每行內容,慎重使用
14 
15 R.tell()          #獲取當前文件的指針指向
16 
17 R.seek()          #把當前文件指向某個指針
18 
19 R.write('')     #寫入當前內容
20 
21 R.flush()         #寫入文件後,當即從內存將內容寫到磁盤
22 
23 R.truncate()      #清空文件內容
24  
25 R.readlines(['', '俄羅斯']) #將一個列表寫入
26 
27 R.close()         #關閉文件

大文件的高效操做方法

1 R = open('poem.txt')
2 
3 for line in R:
4     
5     print(line)

with 使用

 1 with open('poem.txt') as P:
 2 
 3     for line in P:
 4     
 5     print(line)
 6 
 7 with open('poem.txt') as  Pr, with open('poem_bak.txt', 'w') as Pw:
 8 
 9     for line in Pr:
10 
11     Pw.write(line)

 集合:也是一種數據類型,特色是無序

1 number = [1, 2, 4, 5, 2, 4, 6]
2 
3 s_number = set(number)                       #列表轉變成集合
4 
5 number1 = set([1, 2, 4, 5, 2, 4, 6])         #同上
6 
7 number2 = {'linda', 'bluce', 'jack', 'rose'} #直接定義集合

集合的操做

 1 number1 = {1, 3, 4, 5, 2, 8}
 2 
 3 number2 = {2, 4, 9, 1}
 4 
 5 number3 = {1, 4, 2}
 6 
 7 print(number1.intersection(number2))    #取交集
 8 
 9 print(number1 & number2)  #取交集
10 
11 print(number1.union(list2))    #取並集
12 
13 print(number1 | number2)     #取並集
14 
15 print(number1.difference(number2)) #取差集,number1中存在,number2中不存在
16 
17 print(number1 - number2)  #取差集
18 
19 print(number3.issubset(number1))  #判斷number3是否是number1的子集
20 
21 print(number1.issuperset(number3))  #判斷number1是否是number3的父集
22 
23 print(number1.isdisjoint(number2))  #判斷是否有交集
24 
25 print(number1.symmetric_difference(number2)) #對稱差集,輸出兩個集合都沒有的值
26 
27 print(number1 ^ number2)  #同上
28 
29 number1.add(12)   #添加元素
30 
31 number1.update([24, 25, 26])
32 
33 number1.remove(2)  #移除
34 
35 number1.pop() #隨機刪除,並返回刪除元素
36 
37 number.discard('tom')  #存在刪除,不存在不作處理
相關文章
相關標籤/搜索