lifewithpython.com
Life with Python: 4月 2015
http://www.lifewithpython.com/2015_04_01_archive.html
Python Tips: Python で簡易サーバを走らせる. ターミナルからの python コマンドでサーバを立ち上げることができます。 Python 2 と Python 3 では組み込みのライブラリの構成が異なっているためコマンドが若干異なります。 Python2.7 -m SimpleHTTPServer 8080. Python -m http.server 8080. いずれも末尾の 8080 の部分はポート番号です。このサンプルでは 8080 としていますが特に 8080 である必要はなく、利用したいポート番号を指定することができます。ポート番号を省略した場合はいずれも 8000 がデフォルトで選択されるようになっています。 Python Tips:string の format 内で {} を出力したい. Python の format で {} を出力する方法をご紹介します。 まず python の format とは何のことを言っているかといいますと、次の文字列の format メソッドのことを指しています。 フォーマットのシンタックス - Python 公式ドキュメント.
lifewithpython.com
Python Tips:pip そのものをアップデートしたい - Life with Python
http://www.lifewithpython.com/2015/07/pip-upgrade-itself.html
Python Tips:pip そのものをアップデートしたい. Python のパッケージ管理コマンドである pip 自身をアップデートする方法をご紹介します。 Pip は pip そのものが PyPI パッケージとなっているので pip コマンドでアップデートすることができます。 PyPI パッケージをアップデートするには `pip install` に `- upgrade` オプションを付けて実行します。 Pip install - upgrade pip. しばらく気づきませんでしたが、 2014 年の年末頃のアップデートから pip のバージョンが 1.5 から 6.0 となり、最初の 1 を取った形でのバージョン表記になったようです。引き続き活発に開発が進められているようで頼もしいです。 Python - How do I update pip itself from inside my virtual environment? プログラミング言語 Python の使い方について書いています。 Pythonで一番最初に入れるべきパッケージ setuptools と pip.
lifewithpython.com
Life with Python: 2月 2015
http://www.lifewithpython.com/2015_02_01_archive.html
Collectons の Counter というクラスを使うときれいに書くことができます。 以上です。少し変更して標準入力を受け付けるようにすると、ちょっとした英単語カウンタとして使えます。 Python: Split string with multiple delimiters - Stack Overflow. Python Tips:標準入力を 1 行ずつ処理したい. Python で標準入力から入力を得て 1 行ずつ処理する方法をご紹介します。 ちょっとしたコマンドラインツールを作るときに 1 行ずつ処理できれば便利かと思います。 やり方はいくつか考えられるかと思いますが、ひとつカンタンな方法は fileinput ライブラリを使う方法です。 ライブラリを読み込み import fileinput # 入力の各行に対して処理を行う for line in fileinput.input(): # some process. pass. たとえば、単語の数を行ごとに数えてみたいなら次のようにすれば OK です。 次の内容のファイル sample.txt があったとすると. 生成される合成リストの...
lifewithpython.com
Life with Python: 5月 2015
http://www.lifewithpython.com/2015_05_01_archive.html
変数 abc があるかどうかをチェック try: abc except NameError: # なかった場合の処理. ただ変数がそのスコープにあるかどうかだけでなく、もう少し厳密にチェックしたい場合には locals() globals() が使えます。 locals() はローカルスコープの名前を、 globals() はグローバルスコープの名前一覧を格納したリストです。 ローカルスコープでチェック if 'abc' in locals(): # あった場合の処理 else: # なかった場合の処理. グローバルスコープでチェック if 'abc' in globals(): # あった場合の処理 else: # なかった場合の処理. ちなみに、変数名ではなく、クラスが特定の名前のプロパティやメソッドを持つかどうかをチェックしたい場合には hasattr() や dir() が利用できます。 まずは、最もシンプルな dict 型を使った方法から。 さらに Python 2 系では Python 2.7 から導入された Counter クラスを使った方法もあります。 Counting repeated...
lifewithpython.com
Python で基本アルゴリズム:バブルソート - Life with Python
http://www.lifewithpython.com/2015/07/algorithm-bubble-sort.html
プログラミング言語 Python の使い方について書いています。 Python は 2.x 系と 3.x 系でところどころ異なるため参考にされる際はバージョンにご注意ください。 2015 年 9 月以前の記事は 2.x が対象です。 There should be one - and preferably only one - obvious way to do it. Python は簡素を追求する禅のような言語で、使っていて禅僧のような気分になれる(笑)ところが魅力です。 PyCon JP 2016 の受付が開始されたそうです。私は PyCon に参加できたことがありませんが楽しそうです。よろしければ。記事は こちら. ブログは停滞気味ですがおかげさまで元気にやっています。2016年もイキイキした感じでやっていきたいです。短い一生の中で出会う限られた人たちモノたちを大切にしていきたいです。 Pythonで一番最初に入れるべきパッケージ setuptools と pip. Python Tips:pip そのものをアップデートしたい. Django community blog posts.
lifewithpython.com
Life with Python: 6月 2015
http://www.lifewithpython.com/2015_06_01_archive.html
Python Tips:Python のバージョンによって処理を変えたい. Python において、 Python のバージョンによって処理を変更する方法をご紹介します。 結論としては sys.version オブジェクトを利用する方法が最も Pythonic でシンプルかと思います。 Python 2.x でなければ現在の Python のバージョンを表示して処理を終了する import sys if sys.version info.major! 2: sys.stderr.write('Please use python 2.7. Your python version is as following: n') sys.stderr.write('{} n'.format(sys.version) exit() # 以下メインの処理. Python のパッケージである Fabric をご紹介したいと思います。 Fabric はいわゆる「デプロイツール」と言われるもののひとつで、 ssh での一連の処理を自動化するためのライブラリです。 Fabric は Python (2.5...ローカル...
lifewithpython.com
Python Tips:Requests ライブラリのレスポンスボディの文字化けを解消したい - Life with Python
http://www.lifewithpython.com/2015/07/python-requests-response-body-encoding.html
Python Tips:Requests ライブラリのレスポンスボディの文字化けを解消したい. シンプルで使いやすい Python の HTTP ライブラリ Requests を使っているときに文字化けを解消する方法をご紹介します。 Import requests URL = 'http:/ www.1101.com/home.html' r = requests.get(URL) if r.status code = 200: print(r.text.encode('utf-8') # = 文字化けしたテキスト # 文字化けの原因はエンコーディング print(r.encoding) # = 'ISO-8859-1' # エンコーディングを変更すると # 自動で文字化けが解消されたテキストが取得できるようになる # エンコード utf-8 の部分は状況に応じて変更すれば OK r.encoding = 'Shift JIS' print(r.text.encode('utf-8'). Response Content — Requests 公式ドキュメント. Python 201 Releasing...
lifewithpython.com
ライブラリ:PIL - Life with Python
http://www.lifewithpython.com/2013/09/pil.html
Pythonの「PIL」というライブラリについてご紹介します。 From PIL import Image. 12300;PIL」は画像データを扱うため機能をひとまとめにしたライブラリです。名前の「PIL」は「Python Imaging Library」の省略形です。 Bmp、tiff、gif、jpg、pngといったメジャーなフォーマットでの読み書きにはひととおり対応しており、機能が豊富なので、「Pythonで画像処理といえばPIL」といった位置づけになっているようです。 From PIL import Image image = Image.open('lenna.png') print image. class # PIL.PngImagePlugin.PngImageFileと表示. Imageopen()で画像データを読み込むことができます。PngImageFileクラスなどのインスタンスが生成されて返されるので、その後はそのインスタンスに対して処理を施していきます。 Px = image.getdata() print px[3] # (227, 138, 125, 255)などと表示.
lifewithpython.com
Pythonのprint文 - Life with Python
http://www.lifewithpython.com/2013/08/print-statement.html
Pythonで文字列を出力する、といえばprint文です。といっても、print文はPython2.*系以下でのみ実装されており、Python3からはprintは関数として位置づけられています。 以下、Python2.*系におけるprint文の使い方を、使用頻度が一般に高いとおもわれるものから順に見ていきます。 S1 = 'world' print "Hello" # helloと表示 print s1 # worldと表示. 最もベーシックな使い方は「print 表示したい文字列」です。 Print文を普通に使うと、文字列の末尾で自動的に改行されます。Rubyのputsに近いイメージでしょうか。'(シンルグクォーテーション)と"(ダブルクォーテーション)にちがいはありません。 S1 = 'tonari no' s2 = 'kyaku ha' s3 = 'yoku kaki ku' print s1, s2 # tonari no kyaku ha yoku kaki kuと表示. Print 'Hello', print 'world' # Hello worldと表示. 繰り返しになりますが...
lifewithpython.com
Life with Python: 7月 2015
http://www.lifewithpython.com/2015_07_01_archive.html
Python Tips:pip そのものをアップデートしたい. Python のパッケージ管理コマンドである pip 自身をアップデートする方法をご紹介します。 Pip は pip そのものが PyPI パッケージとなっているので pip コマンドでアップデートすることができます。 PyPI パッケージをアップデートするには `pip install` に `- upgrade` オプションを付けて実行します。 Pip install - upgrade pip. しばらく気づきませんでしたが、 2014 年の年末頃のアップデートから pip のバージョンが 1.5 から 6.0 となり、最初の 1 を取った形でのバージョン表記になったようです。引き続き活発に開発が進められているようで頼もしいです。 Python - How do I update pip itself from inside my virtual environment? Python Tips:Requests ライブラリのレスポンスボディの文字化けを解消したい. Import requests URL JSON = 'http:/...
SOCIAL ENGAGEMENT