最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年05月12日 14:57:40   作者:哦摩西羅伊  
這篇文章主要介紹了在python中實現(xiàn)導(dǎo)入一個需要傳參的模塊,具有很好的參考價值,希望可以給大家一個參考,以后在遇到這種的情況的時候,知道如何應(yīng)對

最近跑實驗,遇到了一個問題:

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

我們期望的解決辦法是通過命令行傳參來解決這個問題,因為接下來是需要編寫shell腳本來批量運行實驗,如果用輸入語句的方式顯得太笨拙。

在編寫實驗代碼的時候,我將所有的參數(shù)集中到一個py文件中,這樣便于后期的維護,現(xiàn)在的問題就是需要通過命令行傳參的方式改變該文件中的某些值。

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

下面舉個例子:

文件test1.py

import argparse
from 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

運行:

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

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

補充:python調(diào)用模塊時傳參出錯的解決方案

首先定義了一個Login模塊

傳參是兩個:username,password

#coding=utf-8
def login(self,username,password):
    driver=self.driver
    self.driver.implicitly_wait(30)#不加等待會出錯
    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-8
from selenium import webdriver
import unittest,time
from public import Login
class 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.driver
        driver.get(self.base_url)
        Login.login(self,"jinbian3333","jinbian76")#傳參是這兩個
        text=driver.find_element_by_id("spnUid").text
        self.assertEqual(text,"jinbian3333@126.com")
        Login.logout(self)
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([],self.verificationErrors)
if __name__ == '__main__':
    unittest.main()

可是運行后發(fā)現(xiàn)出錯:

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

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

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • python實現(xiàn)隨機森林random forest的原理及方法

    python實現(xiàn)隨機森林random forest的原理及方法

    本篇文章主要介紹了python實現(xiàn)隨機森林random forest的原理及方法,詳細的介紹了隨機森林的原理和python實現(xiàn),非常具有參考價值,有興趣的可以了解一下
    2017-12-12
  • python離線安裝外部依賴包的實現(xiàn)

    python離線安裝外部依賴包的實現(xiàn)

    今天小編就為大家分享一篇python離線安裝外部依賴包的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python爬蟲租房信息在地圖上顯示的方法

    python爬蟲租房信息在地圖上顯示的方法

    這篇文章主要介紹了python爬蟲租房信息在地圖上顯示的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python中hash加密簡介及使用方法

    Python中hash加密簡介及使用方法

    常見 Hash 算法有 MD5 和 SHA 系列,目前 MD5 和 SHA1 已經(jīng)被破解,一般推薦至少使用 SHA2-256 算法,接下來通過本文給大家介紹Python中hash加密簡介及使用方法,感興趣的朋友一起看看吧
    2022-01-01
  • numpy庫reshape用法詳解

    numpy庫reshape用法詳解

    這篇文章主要介紹了numpy庫reshape用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 深入了解Python中反射和動態(tài)屬性的無限可能

    深入了解Python中反射和動態(tài)屬性的無限可能

    理解 Python 中的反射和動態(tài)屬性是編寫靈活和強大程序的關(guān)鍵,在這篇文章中,小編將帶領(lǐng)大家一起反射和動態(tài)屬性的概念,并提供大量示例代碼,希望對大家有所幫助
    2023-11-11
  • python內(nèi)打印變量之%和f的實例

    python內(nèi)打印變量之%和f的實例

    今天小編就為大家分享一篇python內(nèi)打印變量之%和f的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python3.5基礎(chǔ)之NumPy模塊的使用圖文與實例詳解

    Python3.5基礎(chǔ)之NumPy模塊的使用圖文與實例詳解

    這篇文章主要介紹了Python3.5基礎(chǔ)之NumPy模塊的使用,結(jié)合圖文與實例形式詳細分析了Python3.5中Numpy模塊的原理、功能、使用方法及操作注意事項,需要的朋友可以參考下
    2019-04-04
  • python 中的divmod數(shù)字處理函數(shù)淺析

    python 中的divmod數(shù)字處理函數(shù)淺析

    這篇文章主要介紹了python divmod數(shù)字處理函數(shù)的相關(guān)資料,感興趣的朋友一起看看吧
    2017-10-10
  • python淺拷貝與深拷貝使用方法詳解

    python淺拷貝與深拷貝使用方法詳解

    淺拷貝,指的是重新分配一塊內(nèi)存,創(chuàng)建一個新的對象,但里面的元素是原對象中各個子對象的引用。深拷貝,是指重新分配一塊內(nèi)存,創(chuàng)建一個新的對象,并且將原對象中的元素,以遞歸的方式,通過創(chuàng)建新的子對象拷貝到新對象中。因此,新對象和原對象沒有任何關(guān)聯(lián)
    2022-11-11

最新評論

政和县| 朔州市| 汉寿县| 永顺县| 崇州市| 社旗县| 平江县| 昌宁县| 河西区| 临泉县| 台南市| 双鸭山市| 都江堰市| 剑河县| 慈利县| 抚顺县| 崇左市| 乌兰县| 宜川县| 盐边县| 无锡市| 新宁县| 盐边县| 洛隆县| 昭苏县| 新绛县| 隆尧县| 淮滨县| 西青区| 宕昌县| 黄大仙区| 游戏| 北海市| 淅川县| 湖州市| 望都县| 宁蒗| 岐山县| 惠州市| 会东县| 河间市|