Mark for myself
1. argparse
import argparse
def parse_args():
parser = argparse.ArgumentParser(
prog = 'operate_bag.py',
description='delete topic during certain time')
parser.add_argument('-i', type=str, help='name of the input rosbag file',
default = None, metavar = "input_file")
parser.add_argument('-o', type=str, help='name of the output rosbag file',
default=None, metavar="output_file")
parser.add_argument('-t', type=str, help='topics which should be deleted to the main bag',default = None, metavar = "topics")
parser.add_argument('-startUTC', type=int, help='the startUTC when should topic be deleted')
parser.add_argument('-endUTC', type=int, help='the startUTC when should topic be deleted')
args = parser.parse_args()
return args
if __name__ == "__main__":
args = parse_args()
print args
starttime,endtime = get_unix_from_utc(args.i, args.startUTC, args.endUTC)
print starttime,endtime
operate_bag(args.i, args.o, args.t, starttime, endtime)
使用 python *.py -h 可以查询不同参数的用法
添加参数时,带‘-’的为可选参数,不带的为positional参数,添加positional参数,则命令后必须带对应的参数,否则报错
具体可参考https://blog.csdn.net/u012005313/article/details/50111455
2. getargs
import sys
import getopt
import string
if __name__ == '__main__':
opts, args = getopt.getopt(sys.argv[1:], "hi:p:d:")
for op, value in opts:
if op == "-i":
g_ip_addr = value
elif op == "-p":
g_port = string.atoi(value)
elif op == "-d":
g_file_path=value
elif op == "-h":
print('-i: ip addr;\r\n-p: port;\r\n-d: dump file path')
exit()
使用方法如 python *.py -i ip -p port ,简单粗暴,具体解释请见https://blog.csdn.net/q_l_s/article/details/52921675