0
私はArgparseをpython3.5で使用しています。私の必要なパラメータの一つは、一重引用符や二重引用符のような文字を持つ長い文字列です。私はどのようにこのpythonスクリプトを使用して、この文字を削除するように強制的にユーザーを制限したくないです。だから私は自分のコードで引用符を処理するためのソリューションを探しています。python引数で引用符を処理する方法
それは私の引数パーサです:
class MyParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('Error: %s\n' % message)
self.print_help()
sys.exit(2)
def msg(name=None):
return '''python3.5 file.py Text'''
parser = MyParser(description='You must pass exactly one arguments after classifier.py . Use quotes after and before the argument.', usage=MyParser.msg())
parser.add_argument('text', help='"News Text" for classification (Required Parameter)')
args = parser.parse_args()
引数のこのタイプは認識されないエラーで失敗:エラーなし
>>> python3.5 file.py "Apps infected by Gooligan include "Perfect Cleaner," and more."
Error: unrecognized arguments: Cleaner, and more.
そして、時には:
>>> python3.5 file.py "Now "Support is expensive, and, when you're Google or any other vendor," said Michael Jude."
>
私は理由を知りたいです引数には何の注意も払わずに、コード内のハンドルエラーの解決方法を説明します。
また、引数全体の周りの単一引用符を試みることができます。 – kindall
@kindall一重引用符で囲まれた文字列*中の一重引用符はエスケープできないことに注意してください。 –