首页 > 解决方案 > 如何根据用户通过 argparse 模块指定的参数分割一行?

问题描述

我希望我的程序通过 argparse 模块获取一个参数,该模块将是输入表中要分割的行的分隔符。但是,这不起作用,并且行保持未拆分。关于如何实现我的目标的任何想法?

这就是我调用我的程序的方式: python $scripts/split_tab.py --tab my_tab --dm "\t"

里面的代码是这样的:

import os, sys
import argparse

ap = argparse.ArgumentParser()

ap.add_argument('--tab',required=True,type=str,help='Input table')
ap.add_argument('--dm',required=True,type=str,help='Delimiter string used in the table')

args = ap.parse_args()

tab = args.tab
my_delim = str(args.dm)

with open (tab) as fh:
    for line in fh:
        lines = line.strip().split(my_delim)
        print(lines)

标签: python

解决方案


添加以下更改:

在顶部:

import re

将您的行更新为:

lines = re.split(my_delim,line.strip())

推荐阅读