python中導入一個需要傳參的模塊


 

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

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

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

關於傳參,python中提供了argparse這一模塊。通過這個模塊 就能很快的實現命令行傳參的功能。

下面舉個例子:

文件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將這三份代碼拼接在一起,再一起執行。這樣就實現了我剛才想要的功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM