python基礎任務五 打卡

任務五 時長:2天

 

1.file

a.打開文件方式(讀寫兩種方式)

open() 方法

Python open() 方法用於打開一個文件,並返回文件對象,在對文件進行處理過程都需要使用到這個函數,如果該文件無法被打開,會拋出 OSError。

注意:使用 open() 方法一定要保證關閉文件對象,即調用 close() 方法。

open() 函數常用形式是接收兩個參數:文件名(file)和模式(mode)

基本語法:

open(filename,mode)

filename:是一個包含了訪問的文件名稱的路徑字符串

mode:決定了打開文件的模式:只讀,寫入,追加等,默認文件訪問模式爲只讀(r)

不同模式打開文件的列表:

r:以只讀的方式打開文件,文件的指針將會放在文件的開頭,爲默認模式

rb:以二進制格式打開一個文件用於只讀,文件指針會在文件的開頭

r+:打開一個文件用於讀寫,文件指針將會在文件的開頭

rb+:以二進制格式打開一個文件用於讀寫,文件指針會放在文件的開頭

w:打開一個文件用於寫入,如果該文件已存在則將會覆蓋文件,如果不存在則創建新文件

wb:以二進制打開一個文件用於寫入

w+:打開一個文件用於讀寫

wb+:以二進制格式打開一個文件用於讀寫,如果文件存在則覆蓋,如果不存在則創建新文件

a:打開一個文件用於追加內容,如果文件已存在,文件指針會放在文件的結尾,如果不存在則創建新文件進行寫入

ab:以二進制格式打開一個文件用於追加寫入

a+:打開一個文件用於讀寫,如果該文件已存在,文件指針會放在結尾,文件打開時會是追加模式,該文件不存在則創建新文件

ab+:以二進制格式打開一個文件用於追加。

新建文件並寫入Hello,Python! 然後讀取文件一行,最後關閉文件:

b.文件對象的操作方法

file 對象使用 open 函數來創建

f.read():讀取一個文件的內容

f.write(‘要寫入的字符串或變量’)

f.close():關閉文件並釋放系統的資源。

c.學習對excel及csv文件進行操作

python讀寫excle文件

 需要先用python pip命令安裝xlrd , xlwt庫~

import xlrd, xlwt   #xlwt只能寫入xls文件

#讀取xlsx文件內容
rows = []   #create an empty list to store rows
book = xlrd.open_workbook('testdata.xlsx')  #open the Excel spreadsheet as workbook
sheet = book.sheet_by_index(0)    #get the first sheet
for user in range(1, sheet.nrows):  #iterate 1 to maxrows
    rows.append(list(sheet.row_values(user, 0, sheet.ncols)))  #iterate through the sheet and get data from rows in list
print(rows)

#寫入xls文件
rows1 = [['Name', 'Age'],['fengju', '26'],['wuxia', '25']]
book1 = xlwt.Workbook()   #create new book1 excle
sheet1 = book1.add_sheet('user')   #create new sheet
for i in range(0, 3):    
    for j in range(0, len(rows1[i])):
        sheet1.write(i, j, rows1[i][j])
book1.save('testdata1.xls')   #sava as testdata1.xls

Python讀寫csv文件

import csv

#讀取csv文件內容方法1
csv_file = csv.reader(open('testdata.csv','r'))
next(csv_file, None)    #skip the headers
for user in csv_file:
    print(user)

#讀取csv文件內容方法2
with open('testdata.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)
    next(csv_file, None)
    for user in reader:
        print(user)

#從字典寫入csv文件
dic = {'fengju':25, 'wuxia':26}
csv_file = open('testdata1.csv', 'w', newline='')
writer = csv.writer(csv_file)
for key in dic:
    writer.writerow([key, dic[key]])
csv_file.close()   #close CSV file

csv_file1 = csv.reader(open('testdata1.csv','r'))
for user in csv_file1:
    print(user)

 

2.os模塊

 在自動化測試中,經常需要查找操作文件,比如說查找配置文件(從而讀取配置文件的信息),查找測試報告(從而發送測試報告郵件),經常要對大量文件和大量路徑進行操作,這就依賴於os模塊

os 模塊提供了非常豐富的方法用來處理文件和目

3.datetime模塊

 

4.類和對象

  • 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
  • 類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作爲實例變量使用。
  • 數據成員:類變量或者實例變量, 用於處理類及其實例對象的相關的數據。
  • 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱爲方法的重寫。
  • 局部變量:定義在方法中的變量,只作用於當前實例的類。
  • 實例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱爲實例變量,是在類聲明的內部但是在類的其他成員方法之外聲明的。
  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作爲一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關係(例圖,Dog是一個Animal)。
  • 實例化:創建一個類的實例,類的具體對象。
  • 方法:類中定義的函數。
  • 對象:通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

 

5.正則表達式

正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。

Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。

re 模塊使 Python 語言擁有全部的正則表達式功能。

compile 函數根據一個模式字符串和可選的標誌參數生成一個正則表達式對象。該對象擁有一系列方法用於正則表達式匹配和替換。

re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字符串做爲它們的第一個參數。

6.re模塊

re.match函數

re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。

函數語法

re.match(pattern, string, flags=0)

函數參數說明:

參數 描述
pattern 匹配的正則表達式
string 要匹配的字符串。
flags 標誌位,用於控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等。參見:正則表達式修飾符 - 可選標誌

 

re.search方法

re.search 掃描整個字符串並返回第一個成功的匹配。

函數語法:

re.search(pattern, string, flags=0)

函數參數說明:

參數 描述
pattern 匹配的正則表達式
string 要匹配的字符串。
flags 標誌位,用於控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等。

匹配成功re.search方法返回一個匹配的對象,否則返回None。

re.match與re.search的區別

re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None;而re.search匹配整個字符串,直到找到一個匹配。

 

7.http請求

http或超文本傳輸​​協議適用於客戶端服務器模型。通常,Web瀏覽器是客戶端,託管該網站的計算機是服務器。在python中,我們使用requests模塊來創建http請求。它是一個非常強大的模塊,可以處理簡單請求和響應數據之外的http通信的許多方面。它可以處理身份驗證,壓縮/解壓縮,分塊請求等。

HTTP客戶端以請求消息的形式向服務器發送HTTP請求,其中包括以下格式:

請求行
零個或多個標題(General | Request | Entity)字段後跟CRLF
空行(即CRLF前面沒有任何內容的行),表示標題字段的結尾
可選的消息體
請求方法
請求方法指示對由給定Request-URI標識的資源執行的方法。該方法區分大小寫,應始終以大寫形式提及。下表列出了HTTP / 1.1中支持的所有方法。

參考鏈接:

http://www.runoob.com/python/os-file-methods.html

http://www.runoob.com/python/python-object.html

https://blog.csdn.net/cmzsteven/article/details/64906245

https://blog.csdn.net/boyun58/article/details/85044637

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章