input: Write a python function to parse command line arguments using optparse.
  assert parser_args(['--source', 'pattern', '--target', 'string', 'some_path']) == ({'source_re_string': 'pattern', 'target_string': 'string', 'include_hidden': False, 'interactive': False, 'filter_filename': None, 'include_filename': None}, ['some_path'])
  assert parser_args(['--source', 'pattern', '--target', 'string', '--include_filename', 'file1', '--include_filename', 'file2', 'another_path']) == ({'source_re_string': 'pattern', 'target_string': 'string', 'include_hidden': False, 'interactive': False, 'filter_filename': None, 'include_filename': ['file1', 'file2']}, ['another_path'])
  assert parser_args(['--source', 'pattern', '--target', 'string', '--filter_filename', 'file1', '-H', '-i', 'path']) == ({'source_re_string': 'pattern', 'target_string': 'string', 'include_hidden': True, 'interactive': True, 'filter_filename': ['file1'], 'include_filename': None}, ['path'])
output: def parser_args(argv):
      from optparse import OptionParser
  
      parser = OptionParser()
      parser.add_option('--source', dest='source_re_string')
      parser.add_option('--target', dest='target_string')
      parser.add_option('-H', '--hidden', action='store_true', dest='include_hidden', default=False)
      parser.add_option('-i', '--interactive', action='store_true', dest='interactive', default=False)
      parser.add_option('--filter_filename', action='append', dest='filter_filename', default=None)
      parser.add_option('--include_filename', action='append', dest='include_filename', default=None)
  
      options, args = parser.parse_args(argv)
      opts_dict = vars(options)
  
      return opts_dict, args