2

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

问题:文件的输出被修改为在输入周围包含一个 ['']。(例如:['prefix'] 单词,或 word['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

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

提前致谢。

4

1 回答 1

3

我猜问题是nargs=1。这告诉 argparse 您要创建一个列表。相反,移除nargs=1钻头并放入action='store'. 您可能还想指定一个默认值。

parser.add_argument('-p', dest='prefix', 
                    metavar='[Prefix]',action='store',default='',
                    help="Add a user defined prefix")
于 2013-01-07T16:44:05.193 回答