Sometimes the same piece of code needs to be run multiple times, with only a few parameters different each time. At this time, the argparse
module can be used , and only the command line parameters need to be changed. The code variables do not need to be changed.
The following is a demo, just change the parameters to your own (remember to set the type, otherwise you may get an error):
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()
Output result: