Python

Pythonでキーボードから入力を行う


編集履歴

10/02 作成

10/03 input()文でのprint()文の削除


この記事について

というわけで入力します。

キーボードで入力すると言われると二種類の方法が思い浮かびます。


  • コマンドから呼び出す際の引数として渡す

  • プログラム実行中に入力を求められる

今回はその二つを実装してみようと思います。


コマンド上で入力

では早速プログラムを書いてみましょう。


input.py

import sys

args = sys.argv
i = 0
print(args)
for arg in args:
print("第" + str(i) + '引数:' + arg)
i += 1

sys.argvというのが引数を参照する関数です。

今回は「python .\input.py abc 1 def 2」というコマンドで呼び出して、引数を全て表示してみます。


result

E:\python> python .\input.py abc 1 def 2

['.\\input.py', 'abc', '1', 'def', '2']
第0引数:.\input.py
第1引数:abc
第2引数:1
第3引数:def
第4引数:2

argvの中には配列が入っていることが分かりました。

配列の0番目にはそのファイル名が保存されておりますのでご注意ください。

また、入力された値は数字あったとしても文字列として扱われている点も注意です。


プログラム実行中に入力を求める

続いてプログラムの実行途中で入力を求める場合の処理について書いていきます。


input.py

import sys

print('好きに入力してね!')
a = input()
print(a)

これでinput()のタイミングで入力が要求されます。


result

E:\python> python .\input.py abc 1 def 2

好きに入力してね!
abc
abc

最初のabcが入力されたものです。

因みにinput('好きに入力してね!>>')のように記述すると入力の前に>>が表示されてわかりやすくなります。

さらに前行のprint('好きに入力してね!')も不要になります


input.py

import sys

a = input('好きに入力してね!>>')
print(a)


result

 E:\python> python .\input.py abc 1 def 2

好きに入力してね!>>123
123

以上需要があるかわからない記事でした。

ありがとうございました。