나는 구글 번역 API를 사용하고 있으며이 오류가 표시되고 :Argparse : 너무 적은 인수 번역 API
translate boy -d french
usage: [-h] [-d DEST] [-s SRC] [-c] text
: error: too few arguments
API의 코드는
#!/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()
이다는 생각이 argparse
모듈 때문이다 그러나 나는 확실하지 않다. 나는 초보자이므로 완전하게 설명하십시오. 미리 감사드립니다.
당신은'-d'와 그 인수를 제공했지만'text'를위한 문자열은 제공하지 않았습니다. 'text '는 위치 정보이므로 필수적입니다. Py3에서 오류는 누락 된 인수가 무엇인지 알려줍니다. Py2는 이러한 일반적인 "너무 적음"을 제공합니다. – hpaulj
@hpaulj OP가 '소년'을 텍스트로 전달합니까? – poke
소년을 텍스트로 제공했습니다. – Mohit