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