Python自動化學習筆記(四)——Python資料型別(集合set,元組tuple)、修改檔案、函式、random常用方法
阿新 • • 發佈:2018-11-26
1.修改檔案的兩種方式
1 #第一種 2 with open('users','a+') as fw: #用a+模式開啟檔案,使用with這種語法可以防止忘記close檔案 3 fw.seek(0) #移動檔案指標到最前面,然後才能讀到內容 4 result=fw.read() #將檔案內容一次性讀取出來 5 new_result =result.replace('BAC','python') #字串替代 6 fw.seek(0) #移動檔案指標到最前面 7 fw.truncate() #清空檔案內容 8 fw.write(new_result) #字串替代後的所有內容一次性寫入檔案
1 #第二種 2 import os #匯入os模組 3 with open('users') as fr,open('.users','w',encoding='utf-8')as fw: #r模式開啟待修改檔案,w模式開啟一個新檔案 4 for line in fr: #直接迴圈檔案物件,每次取的就是檔案裡的每一行 5 new_line=line.replace('java','修改檔案') #一行一行替換字串 6 fw.write(new_line) #一行一行寫入新檔案 7 os.remove('users') #刪除原檔案 8 os.rename('.users','users') #將新檔案修改為原檔案的名字
2.Python資料型別(集合set,元組tuple)
2.1元組
可以將元組看作是隻能讀取資料不能修改資料的list
2.1.1定義一個空的元組
- a=()
- a=tuple()
2.1.2定義只有一個元素的元組
-
a=(1,) #定義元組的時候,只有一個元素,後面必須加逗號
2.2集合
#集合天生去重複,無序
2.2.1定義一個空的集合
- a=set() #不能使用{}來定義,{}是定義一個空字典
2.2.2集合常用方法
1 stus1 = {'胡紹燕','王義','王新','馬春波','高文平'} 2 3 stus2 = {'喬美玲','胡紹燕','王義','王新','馬春波',"王一銘"} 4 5 #交集,兩個集合中都有的 6 res1=stus1.intersection(stus2) 7 res2=stus1&stus2 8 9 10 #並集,合併兩個集合,並去重 11 res1=stus1.union(stus2) 12 res2=stus1|stus2 13 14 15 #差集,前一個有,後面一個沒有的 16 res1=stus1.difference(stus2) 17 res2=stus1-stus2 18 19 20 #對稱差集,只在一個集合中出現的元素組成的集合 21 res1=stus1.symmetric_difference(stus2) 22 res2=stus1^stus2 23 24 25 stus1.add('abc') #增加元素 26 stus1.pop() #隨機刪除元素,返回刪除的元素 27 stus1.remove('abc') #刪除指定元素 28 for s in stus1: #遍歷 29 print(s)
1 l=[1,2,3,4,2,3] 2 lset=set(l) #將list轉為set,自動去重 3 print(lset)
2.2.3常量集合
import string print(string.ascii_lowercase) #小寫字母 print(string.ascii_uppercase) #大寫字母 print(string.digits) #0-9 print(string.ascii_letters) #字母 print(string.punctuation) #特殊符號
3.函式
1 def hello(): #定義函式 2 print('hello') 3 hello() #呼叫函式 4 5 #有傳參無返回的函式 6 def write_file(file_name,content): #形參 7 print(file_name,content) 8 with open(file_name,'a+',encoding='utf-8') as fw: 9 fw.writelines(content) 10 write_file('a.txt','123\n') #實參 11 12 #有傳參有返回的函式 13 def read_file(file_name): #形參 14 print(file_name) 15 with open(file_name,'a+',encoding='utf-8') as fw: 16 fw.seek(0) 17 content=fw.read() 18 return content #返回一個變數 19 res=read_file('users') 20 print(res)
4.random常用方法
- random.randint(1,20) #隨機獲取並返回一個指定範圍的整數
- random.choice(s) #隨機選擇一個元素返回,s='xfdfdfdfd'
- random.sample(s,3) #隨機選擇幾個元素返回
- random.shuffle(l) #只能傳入一個list,打亂順序,返回是None,l=[1,2,3,4]
- random.uniform(1,2) #隨機獲取並返回一個指定範圍內的小數,round(f,3) #小數點後保留幾位