python學習筆記——(三)文件操作
阿新 • • 發佈:2018-04-30
二進制 nbsp move line 其他 終端設備 env dex 位置
·集合操作及其相應的操作符表示
集合中沒有插入,只有添加,因為畢竟無序
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhang list_1 = [1, 4, 5, 7, 3, 6, 7, 9] list_1 = set(list_1) print(list_1, type(list_1)) list_2 = set([2, 6, 0, 66, 22, 8]) print(list_1,list_2) #交集 print(list_1.intersection(list_2)) print(list_1 & list_2)#並集 print(list_1.union(list_2)) print(list_1 | list_2) #差集,list_1有而list_2沒有的 print(list_1.difference(list_2)) print(list_1 - list_2) list_3 = set([1,3,7]) print(list_3.issubset(list_1)) #判斷是否為子集 print(list_1.issuperset(list_3)) #判斷是否是父集 #反向差集,取出兩個互相沒有的 print(list_1.symmetric_difference(list_2))print(list_1 ^ list_2) list_4 = set([5,6,8]) print(list_3.isdisjoint(list_4)) #如果兩個集合沒有交集則return true #向集合中添加 list_1.add(‘x‘) list_1.update([‘a‘, ‘v‘, ‘b‘]) print(list_1) #刪除 list_1.remove(‘a‘) #刪除不存在的元素會報錯 list_1.discard(‘v‘) #刪除不存在的元素不會報錯 print(len(list_1)) #list_1的長度print(‘a‘ in list_1) #判斷‘a‘是否在list_1中 #判斷x中的每一個元素是否都在list_1中 x = {1, 3} print(x.issubset(list_1)) print(x <= list_1) #判斷x中的每一個元素是否都在list_1中 print(list_1.issuperset(x)) print(list_1 >= x)
·文件操作
文件操作步驟:
1.打開文件,得到文件句柄並賦值給一個變量
2.通過句柄對文件進行操作
3.關閉文件
文件操作模式:
w:只寫
r:只讀
a:追加
r+:讀寫,先讀,然後在文件的最後寫入
w+:寫讀,先創建一個文件,寫,再讀(沒什麽用)
a+:追加讀寫
rb:二進制文件讀,網絡傳輸都用二進制文件
文件自動關閉
with open() as 文件對象名:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhang #data = open("yesterday.txt", encoding=‘utf-8‘).read() #print(data) #獲取文件句柄 file = open("PLANET.txt", ‘r‘, encoding=‘utf-8‘) #print(file.write("我愛北京天安門")) #只是追加內容,在進行其他操作就會報錯 #print(file.read()) #讀文件 for line in file.readlines(): print(line.strip()) #low loop method for index,line in enumerate(file.readlines()): if index == 9: print(‘-----------這一行不打印歌詞-----------------‘) continue print(line.strip()) #推薦 count = 0 for line in file: if count == 9: print(line) count += 1 continue print(line) count += 1 print(file.tell()) #打印出句柄的位置,以字符的個數為準 print(file.readline()) print(file.tell()) file.seek(0) #回到首字符 print(file.encoding) #文件的編碼形式 print(file.fileno()) #文件的編號,操作系統維護,不需要關註 print(file.isatty()) #是否是終端設備 print(file.seekable()) #光標是否可移 print(file.flush()) #緩存中內容刷到硬盤中 #強制刷到硬盤 #模擬進度條 import sys import time for i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1) file.close() ‘‘‘ file = open("PLANET.txt", ‘a‘, encoding=‘utf-8‘) file.truncate(10) file.close() file = open("PLANET.txt", ‘w+‘, encoding=‘utf-8‘) file.write("lalallalallala........") file.close() file = open("PLANET.txt", ‘rb‘) print(file.readline()) file.close() ‘‘‘ file_old = open("PLANET.txt", ‘r‘, encoding="utf-8") file_new = open("PLANET_after.txt", ‘w‘, encoding="utf-8") for line in file_old: if "我就是你的行星 圍繞在你周圍" in line: line = line.replace("我就是你的行星", "Vergil就是Ann的行星") file_new.write(line) file_old.close() file_new.close() #使用自動關閉 with open("PLANET.txt", ‘r‘, encoding="utf-8") as file: for line in file: print(line.strip())
python學習筆記——(三)文件操作