私はコマンドラインで実行するスクリプトのための優雅な[y/n]プロンプトを書くことを試みてきました。私はこれに出くわした:はい/いいえPython3でstrtoboolを使ってプロンプト
http://mattoc.com/python-yes-no-prompt-cli.html
これは私が(私はのpython3を使用しているとして、それは本当にただの入力にraw_input変更関与)、それをテストするために書いたプログラムです:
import sys
from distutils import strtobool
def prompt(query):
sys.stdout.write("%s [y/n]: " % query)
val = input()
try:
ret = strtobool(val)
except ValueError:
sys.stdout.write("Please answer with y/n")
return prompt(query)
return ret
while True:
if prompt("Would you like to close the program?") == True:
break
else:
continue
しかし、私は、私は次のエラーを取得するコードを実行しようとするたびに:変更
ImportError: cannot import name strtobool
「輸入distutilsの」へ「のdistutilsからはstrtoboolをインポート」NameErrorのiと、助けにはなりません募集:
Would you like to close the program? [y/n]: y
Traceback (most recent call last):
File "yes_no.py", line 15, in <module>
if prompt("Would you like to close the program?") == True:
File "yes_no.py", line 6, in prompt
val = input()
File "<string>", line 1, in <module>
NameError: name 'y' is not defined
この問題を解決するにはどうすればよいですか?
Afaik、私はこのウェブサイトを2.xで書いていますが、私は3.xでそれを複製しようとしています。 –