python - 如何根据用户通过 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)
解决方案
添加以下更改:
在顶部:
import re
将您的行更新为:
lines = re.split(my_delim,line.strip())
推荐阅读
- html - Laravel - 公司徽标显示在子菜单中失真
- c - 使用 UNIX 套接字“零长度数据报”的原因是什么?
- python-3.x - 如何从文本字符串中构造(取出)JSON。(Python)
- javascript - 如何使用 JavaScript 正确处理与黄瓜相结合的开关案例?
- android - 忽略 Android 发布警告消息是否安全 - “此 App Bundle 包含可能被混淆的 Java/Kotlin 代码”?
- mysql - MySQL 数据库在以后的版本中似乎更受限制
- angular - 反应式表单数组未将对象添加到具有属性的表单组
- sql - oracle xe 12如何重置密码
- c# - 尝试在 LinearLayout 中使用 textview 和 radiogroup 时出错
- linux - 安装 cudnn8、sbin/ldconfig.real 时出现问题:“/usr/local/cuda-10.2/lib64”不是已知的库类型