您好,登錄后才能下訂單哦!
怎么在python中導入一個需要傳參的模塊?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
文件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
我們可以通過改變命令行的參數來改變這個name的值,其實關于這一點也比較好理解,我們可以想成python將這三份代碼拼接在一起,再一起執行。
這樣就實現了我剛才想要的功能。
補充:python調用模塊時傳參出錯的解決方案
傳參是兩個: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()
#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()
明明傳參是"jinbian3333","jinbian76",為什么登錄信息是圖中呢?
回頭查看被調用模塊,
Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。
看完上述內容,你們掌握怎么在python中導入一個需要傳參的模塊的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。