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

 

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

咱們指望的解決辦法是經過命令行傳參來解決這個問題,由於接下來是須要編寫shell腳原本批量運行實驗,若是用輸入語句的方式顯得太笨拙。shell

在編寫實驗代碼的時候,我將全部的參數集中到一個py文件中,這樣便於後期的維護,如今的問題就是須要經過命令行傳參的方式改變該文件中的某些值。服務器

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

下面舉個例子:orm

文件test1.pyblog

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.pyip

import test1

str = test1.name + 'asdasdasd'

  

文件test2.pyio

import test3

print test3.str

  

運行:form

咱們能夠經過改變命令行的參數來改變這個name的值,其實關於這一點也比較好理解,咱們能夠想成python將這三份代碼拼接在一塊兒,再一塊兒執行。這樣就實現了我剛纔想要的功能。class

相關文章
相關標籤/搜索