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

标签 python string input output argparse

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

问题:文件的输出被修改为在输入周围包含 ['']。 (例如:['前缀']单词,或单词['后缀'])

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

代码:

    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

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

提前致谢。

最佳答案

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

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

关于python - 括号和单引号中的 Argparse 文件输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14200174/

相关文章:

python - exec()在函数python3.x中不起作用

python - 遍历 list_iterator 两次

python - 将 timedelta 转换为总秒数

r - str_extract 仅捕获重复出现的关键字的一个实例

c - 附加来自特定数字的字符串

regex - 提取R中符号周围的字符

javascript - jQuery/JavaScript : Changing URL hash from <input> tag or on form submit

jQuery - 将文本从输入字段发送到带有预定文本的 div

python - AttributeError :'bytes' 对象没有属性 'encode'

C++顺序读取多个输入文件