我想使用pythons argparse模块来解析我的cli参数字符串。这适用于从终端传递的参数,但不适用于给定的字符串。
import argparse
parser = argparse.ArgumentParser(description='Argparse Test script')
parser.add_argument("param", help='some parameter')
argString = 'someTestFile'
print(argString)
args = parser.parse_args(argString)
如果运行此脚本,则会得到以下输出:
~/someTestFile
usage: argparsetest.py [-h] param
argparsetest.py: error: unrecognized arguments: o m e T e s t F i l e
在~/someTestFile
以某种方式在转变o m e T e s t F i l e
。如前所述,如果我从终端传递文件名,它就可以工作。
我可以想象,这与字符串编码有关。有人知道如何解决此问题吗?
parser.parse_args()
要求序列与相同的形式sys.argv[1:]
。如果将字符串像sys.argv序列一样对待,则会得到['s', 'o', 'm', 'e', 'T', 'e', 's', 't', 'F', 'i', 'l', 'e']
。’s’成为相关参数,然后字符串的其余部分不可解析。
相反,您可能想传递 parser.parse_args(['someTestFile'])
问题内容: 这是我的代码: 但显示错误: 那我该怎么办, 谢谢 问题答案: 带有字符串参数的参数仅用于表达式。如果要执行语句,请使用: 但是在执行此操作之前,请考虑是否真的需要动态代码。到目前为止,大多数事情都可以做到。
问题内容: 我想使用一些特殊字符来修剪SQL Server字符串,例如“ ،,。?!؛ ,،,> <= + ـ”。 SQL Server ltrim和rtrim函数仅去除空格字符。 有没有人想实现SpecialTrim功能? 问题答案: 下面对模式进行了硬编码。 它寻找 不是 要在两端排除的字符之一的第一个字符。 要使其动态化,您可以使用字符串串联来构建字符集(注意模式语法中包含特殊含义的字符)
我有下面的代码,它抛出了下面给出的错误。当'string[]args'被替换为'java.lang.string[]args'时,它不会抛出错误并运行方法s1.method1()。 错误:在diff.test类中找不到Main方法,请将Main方法定义为:public static void Main(string[]args)或JavaFX应用程序类必须扩展JavaFX.application.
问题内容: 我想知道下面是否有更通用的方法?我想知道是否有一种方法可以创建st函数,以便我可以搜索未预定义数量的字符串? 因此,例如,能够创建通用的st函数,然后键入st(’Governor’,’Virginia’,’Google) 这是我当前的功能,但是它预定义了您可以使用的两个词。(df是pandas DataFrame) 问题答案: 您可以使用: 版画 将在允许接受的位置参数的数量不受限制。
问题内容: 我知道如何用以下方法覆盖字符串类: 但是,如何在str不隐式定义类的情况下使用此类而不是内置UserString类?明确地说,我想要这样: 问题答案: 这不可能。您尚未覆盖字符串类。 您不能覆盖类。您可以覆盖方法。您所做的是定义一个类,并且仅覆盖其str()方法。 但是你可以做这样的事情… 输出: 覆盖过去!
问题内容: 我需要定义一个数组,其中包含所有以下特殊字符。 我正在用这个 它接受除“和\以外的所有字符 请帮助如何定义这两个。 问题答案: 并且是String类中的特殊字符 是String的开始或结尾 用于创建如新线的某些字符 标签或你的情况逃脱特殊字符,如和 因此,要使它们成为文字,您必须使用和 另一个想法是使用而不是,这样您就不必转义,并且您的字符可以写为或(因为要求转义- 应该写为- 在这里