pythonで標準入力を、ちょっとだけ使いたい場合の例
プログラムちょい替え
プログラムちょい替え(0)一覧
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394
Qiitaに掲載されているプログラム、Wikiに掲載されているプログラム、オープンソースのプログラムをちょいと替え
1 汎用性を高める
2 Dockerで動作させる
3 拡張性を高める
4 自分の目先の問題を解決する
ことなどを実現しようとしています。
#標準入力使うpythonプログラム
参考にさせていただいたのはこちら。
Python3 標準入力基本
https://qiita.com/kRysTasis/items/b1f81779628ba1c2aef9
数値入力の場合を考える。
123
456
このデータは小さい。手で打ってもよい。
# vi input.data
肝心なpythonのプログラム
#! /usr/bin/env python3
# coding: utf-8
print(int(input()))
エラー処理は全く考えていない。
実行権を付与(2回目からchmod不要)し、実行。
# chmod +x input.py
# ./input.py < input.data
123
標準入力の数値データが2行を出力する場合、実行可能なプログラムをcp(複写)するとchmodしなくても実行権がある。
# cp input.py input2.py
# vi input2.py
# ./input2.py < input.data
123
456
viでの編集内容は下記
#! /usr/bin/env python3
# coding: utf-8
print(int(input()))
print(int(input()))
docker hub
dockerで使う場合。
$ docker run -it kaizenjapan/python3-input /bin/bash
docker(32) docker耐久試験
https://qiita.com/kaizen_nagoya/items/83aa733001ae7026bf70
に書いたように、不要な10Gのデータがり、重いです。
軽いデータのない版、来週作ります。
軽い版
来週と書いて、年末になってしまいました。ごめんなさい。
/home/python3にファイルを置いています。
$ docker run -v /tmp/docker:/tmp/docker -it kaizenjapan/python23 /bin/bash
-v /tmp/docker:/tmep/dockerは、dockerを起動するシステムに/tmp/dockerというフォルダが利用可能な場合に記載。フォルダ名は、利用できるもので、docker側が空のものであればよい。
docker(89) dockerでpython2, python3
https://qiita.com/kaizen_nagoya/items/ecbe11a4d743357134d5
文書履歴(document history)
ver. 0.01 初稿 20190728
ver. 0.02 python23追記 20191231
最後までおよみいただきありがとうございました。
いいね、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon and