LoginSignup
1
1

プログラムちょい替え(9)python 標準入力: docker(95)

Last updated at Posted at 2019-07-18

pythonで標準入力を、ちょっとだけ使いたい場合の例

プログラムちょい替え

プログラムちょい替え(0)一覧
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

Qiitaに掲載されているプログラム、Wikiに掲載されているプログラム、オープンソースのプログラムをちょいと替え
1 汎用性を高める
2 Dockerで動作させる
3 拡張性を高める
4 自分の目先の問題を解決する
ことなどを実現しようとしています。

#標準入力使うpythonプログラム

参考にさせていただいたのはこちら。

Python3 標準入力基本
https://qiita.com/kRysTasis/items/b1f81779628ba1c2aef9

数値入力の場合を考える。

input.data
123
456

このデータは小さい。手で打ってもよい。

# vi input.data

肝心なpythonのプログラム

input.py
#! /usr/bin/env python3
# coding: utf-8

print(int(input()))

エラー処理は全く考えていない。
実行権を付与(2回目からchmod不要)し、実行。

docker.python3
# chmod +x input.py
# ./input.py < input.data
123

標準入力の数値データが2行を出力する場合、実行可能なプログラムをcp(複写)するとchmodしなくても実行権がある。

docker.python3
# cp input.py input2.py
# vi input2.py
# ./input2.py < input.data
123
456

viでの編集内容は下記

input2.py
#! /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

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1