1. 程式人生 > >Python自動化學習筆記(四)——Python資料型別(集合set,元組tuple)、修改檔案、函式、random常用方法

Python自動化學習筆記(四)——Python資料型別(集合set,元組tuple)、修改檔案、函式、random常用方法

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) #小數點後保留幾位