有时候可能同一段代码需要运行多次,每次只是几个参数不同,这个时候可以用到argparse
模块,只需要改变命令行的参数就可以,代码变量不需要改来改去。
下面是一段demo,参数改成你自己的就好了(记得设置type,不然可能会报错):
import argparse
import os
import datetime
def get_args():
parser = argparse.ArgumentParser(description='Test')
parser.add_argument('--epoch', type=int, default=2)
parser.add_argument('--iter_perepoch', type=int, default=1)
parser.add_argument('--size_pop', type=int, default=2)
parser.add_argument('--dataset_type', type=str, default='test')
parser.add_argument('--save_path', type=str, default='./GA-res')
args = parser.parse_args()
date = datetime.datetime.now()
args.save_name = os.path.join(args.save_path, args.dataset_type + '_' + str(args.epoch) + '_' + str(args.iter_perepoch) + '_' + str(args.size_pop) + '_' + str(date.month).zfill(2)+str(date.day).zfill(2)+str(date.hour).zfill(2))
os.makedirs(args.save_name, exist_ok=True)
return args
def main():
args = get_args()
print(args.epoch)
print(args.iter_perepoch)
if __name__ == '__main__':
main()
输出结果: