主頁(yè) > 知識(shí)庫(kù) > Python基礎(chǔ)之常用庫(kù)常用方法整理

Python基礎(chǔ)之常用庫(kù)常用方法整理

熱門(mén)標(biāo)簽:幫人做地圖標(biāo)注收費(fèi)算詐騙嗎 外呼不封號(hào)系統(tǒng) 江蘇房產(chǎn)電銷(xiāo)機(jī)器人廠(chǎng)家 電信營(yíng)業(yè)廳400電話(huà)申請(qǐng) 悟空智電銷(xiāo)機(jī)器人6 遼寧400電話(huà)辦理多少錢(qián) 蘇州電銷(xiāo)機(jī)器人十大排行榜 荊州云電銷(xiāo)機(jī)器人供應(yīng)商 溫州旅游地圖標(biāo)注

一、os

__file__      
獲取當(dāng)前運(yùn)行的.py文件所在的路徑(D:\PycharmProjects\My_WEB_UI\ConfigFiles\ConfigPath.py)

os.path.dirname(__file__)
上面正在運(yùn)行的.py文件的上一級(jí)(D:\PycharmProjects\My_WEB_UI\ConfigFiles)

os.path.join(xxx,u'ConfigFiles\elementLocation.ini')
在已獲得的路徑xxx上加上\ConfigFiles\elementLocation.ini

二、configparser

config = configparser.ConfigParser()
創(chuàng)建一個(gè)configparser對(duì)象

config.read(filename)
讀取ini文件,filename為ini文件的路徑

config.sections()
得到ini文件內(nèi)的所有的section,以列表的形式返回

config.items(sectionName)
根據(jù)section的name得到其下的所有鍵值對(duì),再用dict(config.items(sectionName))封裝為字典形式

三、openpyxl

wb = load_workbook('a.xlsx')
讀取文件a.xlsx

sheet = wb[sheetname]
根據(jù)名字拿到xlsx文件里對(duì)應(yīng)的頁(yè)

sheet.max_row
獲取當(dāng)前頁(yè)的最大行數(shù)

sheet.max_column
獲取當(dāng)前頁(yè)的最大列數(shù)

sheet.cell(row = xxx,column = xxx).value
獲取單元格(xxx,xxx)中的值

sheet.cell(row = xxx,column = xxx).value =aa     #修改單元格里的值
wb.save(a.xlsx的路徑名)                           #修改完要保存一下,否則修改不生效

openpyxl庫(kù)中沒(méi)有方法來(lái)獲取去某一行的值,可以自定義:

row_data = []
for i in range(1,sheet.max_column+1):             #注意遍歷列的時(shí)候從1開(kāi)始
     cell_value = sheet.cell(row = xxx,column = i).value         #xxx就為具體想要獲取的行
     row_data.append(cell_value)

四、loguru

logger.debug('this is a debug message')
logger.info('this is a info message')
logger.warning('this is a warning message')
logger.error('this is a error message')
logger.success('this is a success message')
logger.critical('this is a critical message')

logger.add('xxx.log') 
在當(dāng)前同級(jí)目錄下創(chuàng)建一個(gè)xxx.log文件,并將接下來(lái)的日志打印到xxx.log里面

logger.add('lowPath/xxx.log')
在當(dāng)前目錄下創(chuàng)建一個(gè)文件夾lowPath,在其中創(chuàng)建xxx.log文件

logger.add(otherPath+'/xxx.log')
事先獲取其他的目錄otherPath,在otherPath下創(chuàng)建xxx.log

五、time

time.sleep(2)
強(qiáng)制休眠兩秒

time.strftime('%Y-%m-%d_%H-%M-%S')
接受當(dāng)前時(shí)間元組,并最終返回對(duì)應(yīng)格式的字符串

六、unittest

基本概念:
testcase 測(cè)試用例,以test開(kāi)頭,執(zhí)行順序會(huì)按照方法名的ASCII碼值來(lái)排序
test suite 測(cè)試套件,testloader把需要一起執(zhí)行的測(cè)試用例加載到套件中,然后一起執(zhí)行
test runner 執(zhí)行測(cè)試用例并返回測(cè)試結(jié)果
test fixture 測(cè)試固件,對(duì)一個(gè)測(cè)試用例環(huán)境的搭建和銷(xiāo)毀

常見(jiàn)斷言: assertEqual(a,b,msg=None) 判斷a和b是否相等 assertNotEqual assertTrue(a)
判斷a是否為T(mén)rue assertFalse assertIs(a,b)
判斷a is b assertIsNot assertIsNone(a)
判斷a is None assertIsNotNone assertIn(a,b)
判斷a in b assertNotIn assertIsInstance(a,b)
判斷a是不是b的實(shí)例 assertIsNotInstance 斷言失敗會(huì)報(bào)AssertionError的錯(cuò)

編寫(xiě)測(cè)試用例

class TestDemo(unittest.TestCase):
繼承unittest模塊里的TestCase

		def setUp(self) 
		準(zhǔn)備環(huán)境,執(zhí)行測(cè)試用例的前置條件

		def tearDown(self)
		環(huán)境還原,執(zhí)行測(cè)試用例的后置條件

 		def test_01(self)
 		測(cè)試用例1
 		
 if __name__ == '__main__':
       unittest.main()
       執(zhí)行當(dāng)前文件以test開(kāi)頭的測(cè)試用例
 
 ########################################以下是實(shí)例##############################################
import time
import unittest

from selenium import webdriver

from Modules.LoginAction import LoginAction


class Login_test(unittest.TestCase):

    def setUp(self):
        '''
        準(zhǔn)備好環(huán)境,執(zhí)行測(cè)試用例的前置條件
        :return:
        '''
        self.driver = webdriver.Chrome()
        self.driver.get('https://mail.163.com/')
        self.driver.maximize_window()

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()

    def test_01(self):
        loginAction = LoginAction()
        loginAction.do_login(self.driver, 'lsqtester001', 'qwer123')
        time.sleep(2)
        self.assertIn('lsqtester002',self.driver.page_source)

if __name__ == '__main__':
    unittest.main()

組織測(cè)試用例

suit = unittest.TestSuite()
定義一個(gè)測(cè)試套件

suit.addTest(Login_test('test_01'))
向套件中添加測(cè)試用例

runner = unittest.TextTestRunner()
runner.run(suit)
定義testrunner并執(zhí)行已加入測(cè)試套件的測(cè)試用例

loader = unittest.TestLoader()
定義一個(gè)testloader對(duì)象
suit.addTest(loader.discover(TestcasesPath,pattern='Unittest*.py'))
根據(jù)條件將測(cè)試用例加載到套件中


########################################以下是實(shí)例##############################################
import unittest

from ConfigFiles.ConfigPath import TestcasesPath
from TestCases.Unittest_login import Login_test



if __name__ == '__main__':
    # suit = unittest.TestSuite()
    # #向套件中添加測(cè)試用例
    # suit.addTest(Login_test('test_01'))
    # suit.addTest(Login_test('test_02'))
    #
    # runner = unittest.TextTestRunner()
    # runner.run(suit)

    '''
    用discover來(lái)組織測(cè)試用例
    discover(dir,pattern='Unittest*.py',top_level_dir=None)
    dir就是存放寫(xiě)用例的python文件的具體路徑
    pattern就是在目錄dir下找形式如同Unittest*.py這樣的文件
    如果符合條件的.py文件里有l(wèi)oad_test這個(gè)函數(shù)的話(huà),就會(huì)加載該文件里的測(cè)試用例
    如果不存在load_test函數(shù)的話(huà),就會(huì)默認(rèn)加載文件里以test開(kāi)頭的測(cè)試用例函數(shù)
    '''
    suit = unittest.TestSuite()
    loader = unittest.TestLoader()
    suit.addTest(loader.discover(TestcasesPath,pattern='Unittest*.py'))

    runner = unittest.TextTestRunner()
    runner.run(suit)

到此這篇關(guān)于Python基礎(chǔ)之常用庫(kù)常用方法整理的文章就介紹到這了,更多相關(guān)Python常用庫(kù)常用方法整理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python編程開(kāi)發(fā)之textwrap文本樣式處理技巧
  • Python的文本常量與字符串模板之string庫(kù)
  • Python中使用subprocess庫(kù)創(chuàng)建附加進(jìn)程
  • Python超簡(jiǎn)單容易上手的畫(huà)圖工具庫(kù)推薦
  • python爬蟲(chóng)請(qǐng)求庫(kù)httpx和parsel解析庫(kù)的使用測(cè)評(píng)
  • Python高級(jí)文件操作之shutil庫(kù)詳解
  • Python超簡(jiǎn)單容易上手的畫(huà)圖工具庫(kù)(適合新手)
  • python學(xué)習(xí)之panda數(shù)據(jù)分析核心支持庫(kù)
  • Python基礎(chǔ)之操作MySQL數(shù)據(jù)庫(kù)
  • Python繪圖庫(kù)Matplotlib的基本用法
  • Python爬蟲(chóng)爬取愛(ài)奇藝電影片庫(kù)首頁(yè)的實(shí)例代碼
  • Python Excel處理庫(kù)openpyxl詳解
  • python使用openpyxl庫(kù)讀寫(xiě)Excel表格的方法(增刪改查操作)
  • Python time庫(kù)的時(shí)間時(shí)鐘處理
  • python數(shù)據(jù)庫(kù)批量插入數(shù)據(jù)的實(shí)現(xiàn)(executemany的使用)
  • Python爬蟲(chóng)之必備chardet庫(kù)
  • python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用
  • Python格式化文本段落之textwrap庫(kù)

標(biāo)簽:三沙 濟(jì)南 喀什 臺(tái)灣 宿遷 欽州 黃山 景德鎮(zhèn)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python基礎(chǔ)之常用庫(kù)常用方法整理》,本文關(guān)鍵詞  Python,基礎(chǔ),之,常用,庫(kù),方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python基礎(chǔ)之常用庫(kù)常用方法整理》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python基礎(chǔ)之常用庫(kù)常用方法整理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章