設置命令行python代碼運行參數

應用場景

很好的功能,關鍵是在服務器裏比較有用。
以下場景適用:
1、查看變量信息。想查看一個固定變量的信息,但是不想每次都在程序裏設斷點再運行查看。
2、多參數實驗。可以避免出現改一個參數就打開一次文件修改再保存的窘況,最後會有n多個相似命名的代碼,自己都記不住。
(注:每次實驗仍然需要做好記錄)

解決

參考鏈接
我主要使用了python自帶的argparse 模塊。
因爲它不用單獨安裝依賴+設置簡單

#文件功能:根據參數讀取hdf5維度
import argparse
import numpy as np
import pickle
import h5py
import os,random
import warnings
warnings.filterwarnings("ignore")

def load_data_info(from_filename="data/XYZ.0001_0512_NORM.hdf5"):
    f = h5py.File(from_filename, 'r')
    X = f['X'].shape  # ndarray(2555904*1024*2)
    Y = f['Y'].shape # ndarray(2M*24)
    Z = f['Z'].shape  # ndarray(2M*1)
    f.close()
    return X,Y,Z

parser = argparse.ArgumentParser(description='show_hdf5_info')
parser.add_argument('--filename', '-f', help='filename 屬性,文件路徑,必要屬性',default="/home/wenglintianran/radioml/radioml/data/xxx.hdf5")
#parser.add_argument('--year', '-y', help='year 屬性,非必要參數,但是有默認值', default=2017)
#parser.add_argument('--body', '-b', help='body 屬性,必要參數',required=True)
args = parser.parse_args()

if __name__ == '__main__':
    #路徑讀取
    X_shape,Y_shape,Z_shape = load_data_info( from_filename=args.filename)
    print("X維數:")
    print(X_shape)
    print("Y維數:")
    print(Y_shape)
    print("Z維數:")
    print(Z_shape)

輸入 :python xxx.py -f ./data/aaa.hdf5
結果:
在這裏插入圖片描述
加的參數名字直接用args.xx就可以直接調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章