Ich bin mit einer API-Übersetzung Google und es zeigt Fehler:argparse: Zu wenig Argumente Übersetzung API
translate boy -d french
usage: [-h] [-d DEST] [-s SRC] [-c] text
: error: too few arguments
Der Code der API ist
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import argparse
import sys
from googletrans import Translator
def main():
parser = argparse.ArgumentParser(
description='Python Google Translator as a command-line tool')
parser.add_argument('text', help='The text you want to translate.')
parser.add_argument('-d', '--dest', default='en',
help='The destination language you want to translate. (Default: en)')
parser.add_argument('-s', '--src', default='auto',
help='The source language you want to translate. (Default: auto)')
parser.add_argument('-c', '--detect', action='store_true', default=False,
help='')
args = parser.parse_args()
translator = Translator()
if args.detect:
result = translator.detect(args.text)
result = """
[{lang}, {confidence}] {text}
""".strip().format(text=args.text,
lang=result.lang, confidence=result.confidence)
print(result)
return
result = translator.translate(args.text, dest=args.dest, src=args.src)
result = u"""
[{src}] {original}
->
[{dest}] {text}
[pron.] {pronunciation}
""".strip().format(src=result.src, dest=result.dest, original=result.origin,
text=result.text, pronunciation=result.pronunciation)
print(result)
if __name__ == '__main__':
main()
Ich denke, es ist wegen argparse
Modul aber ich bin mir nicht sicher. Ich bin ein Neuling, also erklären Sie bitte vollständig. Danke im Voraus.
Sie haben '-d' und sein Argument, aber keine Zeichenfolge für' text' angegeben. 'text' ist eine Position und somit erforderlich. In Py3 hätte der Fehler Ihnen gesagt, welches Argument fehlte; Py2 gibt nur dieses generische "zu wenig". – hpaulj
@hpaulj OP passiert "Junge" als Text obwohl? – poke
Ich habe Boy als Text geliefert. – Mohit