实现 cut 命令, 比如
cut a.txt -d ' ' -f 1,3,4
a.txt内容为:
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98
将打印 第2,3,4列
No Mark Percent
01 69 91
02 71 87
03 68 98
import argparse
def arg_parse():
parser = argparse.ArgumentParser(description='this is my cut commond line')
parser.add_argument('-d', type=str, nargs=1)
parser.add_argument('-f', type=str, nargs=1)
parser.add_argument('f_name', type=str, nargs=1)
args = parser.parse_args()
return args
def my_cut(args):
delimiter = args.d[0]
f_name = args.f_name[0]
#假设都是逗号分隔
fields = [int(x) for x in args.f[0].split(',')]
with open(f_name, 'r') as f:
for line in f.readlines():
for n in fields:
print(line.split(delimiter)[n-1], delimiter,end='')
print(end='')
if __name__ == '__main__':
my_cut(arg_parse())