括号和单引号中的Argparse文件输出

时间:2013-01-07 16:40:49

标签: python string input output argparse

目标:为字符串添加前缀或后缀。

问题:修改文件的输出以在输入周围包含['']。 (例如:['prefix']字,或字['suffix'])

问题:如何删除输入字符串周围的括号和单引号?

代码:

    parser.add_argument('-p', dest='prefix', metavar='[Prefix]', nargs=1, help="Add a user     defined prefix")
    parser.add_argument('-s', dest='suffix', metavar='[Suffix]', nargs=1, help="Add a user     defined suffix")

#Adding a prefix to the string
    elif args.prefix:
        s = str(args.prefix)
        print s
        def addprefix(n):
            p = s + n
            args.outfile.write(p)
        myline = args.infile.readline()
        while myline:
            addprefix(myline)
            myline = args.infile.readline()
        args.infile.close

    #Adding a suffix to the string
    elif args.suffix:
        s = str(args.suffix)
        def addsuf(n):
            p = str(n.strip()+s+"\n")
            args.outfile.write(p)
        myline = args.infile.readline()
        while myline:
            addsuf(myline)
            myline = args.infile.readline()
        args.infile.close

附注:这是来自更大程序的代码片段。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我猜这个问题是nargs=1。这告诉argparse你要列表。相反,请移除nargs=1位并输入action='store'。您可能还想指定默认值。

parser.add_argument('-p', dest='prefix', 
                    metavar='[Prefix]',action='store',default='',
                    help="Add a user defined prefix")