国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

在python中實(shí)現(xiàn)導(dǎo)入一個(gè)需要傳參的模塊

瀏覽:2日期:2022-06-20 08:01:29
最近跑實(shí)驗(yàn),遇到了一個(gè)問(wèn)題:

由于實(shí)驗(yàn)數(shù)據(jù)集比較多,每次跑完一個(gè)數(shù)據(jù)集就需要手動(dòng)更改文件路徑,再將文件傳到服務(wù)器,再運(yùn)行實(shí)驗(yàn),這樣的話(huà)效率很低,必須要專(zhuān)門(mén)看著這個(gè)實(shí)驗(yàn),啥時(shí)候跑完就手動(dòng)修改運(yùn)行下一個(gè)實(shí)驗(yàn)。我個(gè)人無(wú)法忍受這樣低效率,就想能不能有什么解決的辦法。

我們期望的解決辦法是通過(guò)命令行傳參來(lái)解決這個(gè)問(wèn)題,因?yàn)榻酉聛?lái)是需要編寫(xiě)shell腳本來(lái)批量運(yùn)行實(shí)驗(yàn),如果用輸入語(yǔ)句的方式顯得太笨拙。

在編寫(xiě)實(shí)驗(yàn)代碼的時(shí)候,我將所有的參數(shù)集中到一個(gè)py文件中,這樣便于后期的維護(hù),現(xiàn)在的問(wèn)題就是需要通過(guò)命令行傳參的方式改變?cè)撐募械哪承┲怠?/p>

關(guān)于傳參,python中提供了argparse這一模塊。通過(guò)這個(gè)模塊 就能很快的實(shí)現(xiàn)命令行傳參的功能。

下面舉個(gè)例子:

文件test1.py

import argparsefrom argparse import RawTextHelpFormatter parse = argparse.ArgumentParser(description='The parameters for the feature select method', formatter_class=RawTextHelpFormatter)parse.add_argument(’name’, type = str) args = parse.parse_args() name = args.name

文件test3.py

import test1 str = test1.name + ’asdasdasd’

文件test2.py

import test3 print test3.str運(yùn)行:

在python中實(shí)現(xiàn)導(dǎo)入一個(gè)需要傳參的模塊

我們可以通過(guò)改變命令行的參數(shù)來(lái)改變這個(gè)name的值,其實(shí)關(guān)于這一點(diǎn)也比較好理解,我們可以想成python將這三份代碼拼接在一起,再一起執(zhí)行。

這樣就實(shí)現(xiàn)了我剛才想要的功能。

補(bǔ)充:python調(diào)用模塊時(shí)傳參出錯(cuò)的解決方案

首先定義了一個(gè)Login模塊

傳參是兩個(gè):username,password

#coding=utf-8def login(self,username,password): driver=self.driver self.driver.implicitly_wait(30)#不加等待會(huì)出錯(cuò) driver.switch_to.frame(0) driver.find_element_by_class_name('dlemail').clear() driver.find_element_by_class_name(’dlemail’).send_keys('username') driver.find_element_by_class_name(’dlpwd’).clear() driver.find_element_by_class_name(’dlpwd’).send_keys('password') driver.find_element_by_id('dologin').click()def logout(self): driver=self.driver driver.find_element_by_link_text(u'退出').click() driver.quit()在Test.login中調(diào)用該模塊:

#coding=utf-8from selenium import webdriverimport unittest,timefrom public import Loginclass TestLogin(unittest.TestCase): def setUp(self):self.driver=webdriver.Chrome()self.driver.implicitly_wait(30)self.base_url = 'http://www.126.com/'self.verificationErrors = [] def test_login(self):driver=self.driverdriver.get(self.base_url)Login.login(self,'jinbian3333','jinbian76')#傳參是這兩個(gè)text=driver.find_element_by_id('spnUid').textself.assertEqual(text,'jinbian3333@126.com')Login.logout(self) def tearDown(self):self.driver.quit()self.assertEqual([],self.verificationErrors)if __name__ == ’__main__’: unittest.main()可是運(yùn)行后發(fā)現(xiàn)出錯(cuò):

在python中實(shí)現(xiàn)導(dǎo)入一個(gè)需要傳參的模塊

明明傳參是'jinbian3333','jinbian76',為什么登錄信息是圖中呢?

回頭查看被調(diào)用模塊,

在python中實(shí)現(xiàn)導(dǎo)入一個(gè)需要傳參的模塊

按我理解就是 加了' ' 就不是變量了,是常量了, 你調(diào)用了該模塊,即使傳參 它還是按照模塊本身的設(shè)置:“username”'password'運(yùn)行

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产午夜视频 | 亚洲一级毛片免费在线观看 | 99久久精品国产片 | 国产亚洲美女精品久久 | 日韩欧美在线看 | 精品久久免费视频 | 日韩欧美中文字幕在线视频 | 国产精品久久在线 | 久久一区二区精品综合 | 欧美另类精品一区二区三区 | 亚洲欧美精品中文字幕 | 日韩一级片免费看 | 国产网红自拍 | 国内免费视频成人精品 | 精品一区二区视频 | 一级毛片不收费 | 欧美黄区 | 欧美—级v免费大片 | 成人精品国产亚洲 | 亚洲在线免费观看 | 精品热线九九精品视频 | 自拍视频在线 | 色伊人国产高清在线 | 加勒比日本道 | 亚洲综合精品一二三区在线 | 久青草免费视频手机在线观看 | 一本高清 | 亚洲精品无码专区在线播放 | 久久精品综合免费观看 | 一级毛片美国aaj毛片 | 一级毛片牲交大片 | 成年人在线观看网站 | 亚洲午夜国产精品 | 免费看欧美一级片 | 国产91会所洗浴女技师按摩 | 欧美一级毛片大片免费播放 | 亚洲天堂在线视频观看 | 日韩视频大全 | 久久久一级 | 欧美做爱毛片 | 一级做a爰片性色毛片小说 一级做a爰片性色毛片中国 |