UJP - Pythonカテゴリのエントリ

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

  • カテゴリ Python の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - Pythonカテゴリのエントリ

Pythonで日時を出力

カテゴリ : 
スキルチャージ » Python
ブロガー : 
ujpblog 2020/3/19 15:39
 Pythonプログラミングなんて知らなくても,サンプルコードを使って応用することもあるさ.
 日時を表示する最小限コードをメモでとどめておこう.
$ cat datetest.py🆑
import datetime
nt = datetime.datetime.now()
print(nt.strftime('%Y%m%dT%H%M.%S'))
print(nt.strftime('%Y/%m/%d %H:%M:%S'))
 実行するとこうなる.
$ python datetest.py🆑
20200319T1536.44
2020/03/19 15:36:44
$

Python2でファイルのMD5をチェックする

カテゴリ : 
スキルチャージ » Python
ブロガー : 
ujpblog 2020/3/19 15:31
 入手したファイルが正しいものかを,MD5でチェックする.
 まずはコマンド.
$ md5 part-00000.gz🆑
MD5 (/Users/ujpadmin/Downloads/part-00000.gz) = 9d251b64a2c5723181ef8cb3fb22be55
$
 そしてコード.
import hashlib↲
fileName = '/Users/ujpadmin/Downloads/part-00000.gz'
with open(fileName, 'rb') as f:↲
»-------checksum = hashlib.md5(f.read()).hexdigest()
»-------print checksum

※»-------は,インデント.
 実行してみる.
$ python checkMD5.py🆑
9d251b64a2c5723181ef8cb3fb22be55🈁
$
 hashlib.md5の部分を変更すれば,hashlib.sha256とか他のハッシュ値に応用できる.

Pythonの特徴的なこと

カテゴリ : 
スキルチャージ » Python
ブロガー : 
ujpblog 2018/4/26 23:58
 Pythonの環境を作るのに一苦労.今理解しているのは,これまでの概念がちょっと邪魔しているのでは無いかということかなぁ.

 新しくプロジェクトを作ると,その下にPythonの本体やライブラリを複製して配下に設置する.こんな感じ.
[MBP2017:ujpadmin 00:24:19 ~/PycharmProjects/5 ]
$ ls -la
total 4
drwxr-xr-x  6 ujpadmin staff 192  4 26 23:48 .
drwxr-xr-x  7 ujpadmin staff 224  4 26 23:48 ..
drwxr-xr-x 13 ujpadmin staff 416  4 26 23:48 bin
drwxr-xr-x  2 ujpadmin staff  64  4 26 23:48 include
drwxr-xr-x  3 ujpadmin staff  96  4 26 23:48 lib
-rw-r--r--  1 ujpadmin staff 111  4 26 23:48 pyvenv.cfg
[MBP2017:ujpadmin 00:24:21 ~/PycharmProjects/5 ]
$ ls -la bin
total 10292
drwxr-xr-x 13 ujpadmin staff     416  4 26 23:48 .
drwxr-xr-x  6 ujpadmin staff     192  4 26 23:48 ..
-rw-r--r--  1 ujpadmin staff    2202  4 26 23:48 activate
-rw-r--r--  1 ujpadmin staff    1258  4 26 23:48 activate.csh
-rw-r--r--  1 ujpadmin staff    2422  4 26 23:48 activate.fish
-rwxr-xr-x  1 ujpadmin staff     431  4 26 23:48 easy_install
-rwxr-xr-x  1 ujpadmin staff     439  4 26 23:48 easy_install-3.6
-rwxr-xr-x  1 ujpadmin staff     389  4 26 23:48 pip
-rwxr-xr-x  1 ujpadmin staff     391  4 26 23:48 pip3
-rwxr-xr-x  1 ujpadmin staff     395  4 26 23:48 pip3.6
-rwxr-xr-x  1 ujpadmin staff 3500936  4 26 23:48 python
-rwxr-xr-x  1 ujpadmin staff 3500936  4 26 23:48 python3
-rwxr-xr-x  1 ujpadmin staff 3500936  4 26 23:48 python3.6
[MBP2017:ujpadmin 00:24:33 ~/PycharmProjects/5 ]
$
 この場合,5というプロジェクトを作ったら,5ディレクトリの下にPythonのbinやライブラリがコピーされたという感じ.
 ユーザプログラムと動作環境を全部合わせて1プロジェクト.依存関係とかを排除するという意図かなぁ.これを「仮想環境」と表現しているのかどうなのか.

 昔と違って,ディスクやメモリがたくさんあるので,そういうのをケチる仕組みよりも簡単快適環境を作る方向に進化しているのかなと,思ったりします.

PyCharmを日本語化する Pleiadesを使って

カテゴリ : 
スキルチャージ » Python
ブロガー : 
ujpblog 2018/4/26 0:32
 最近のアプリは,リソースファイルを入れ替えれば簡単に他国語化できるようになっている.まぁ,むかーしのMacintoshの時代から,実行ファイルはリソースに直接アクセスできる規格があったので,軽く多言語対応していたなぁ.もう昔話すぎるのだけれど.

Pleiades - Eclipse プラグイン日本語化プラグイン
http://mergedoc.osdn.jp

 Eclipseとかと一緒になったPleiadesをダウンロードしてファイルを展開.setupアプリを起動して,日本語化したいアプリ,今回の場合はPyCharmを指定するだけ.














 簡単.ありがたや〜
 元はIBMが作って無償提供されているIDEのEclipse.ここ10年くらいはメインストリームな感じだったけれど,現代においては古臭いというかしがらみにより最新のニーズを取り込んで進化も遅くなっているらしい.大企業病か?
 という説教みたいな話は置いといて,Pythonを使うためのIDEでしらべたり若い子に聞いたら,PyCharmですよ!というのでインストールしてみる.

 PyCharmはBrewでも準備があるというので探してみる.

MBP2017:.pyenv ujpadmin$ brew cask info pycharm-ce🆑
pycharm-ce: 2018.1.1,181.4445.76
https://www.jetbrains.com/pycharm/
Not installed
From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/pycharm-ce.rb
==> Names
Jetbrains PyCharm Community Edition🈁
PyCharm CE
==> Artifacts
PyCharm CE.app (App)
MBP2017:.pyenv ujpadmin$
 Brew版は最新リリース版の取り込みにラグがあるらしいけれど,本質的に私のニーズだと大きな問題はないので気にしない.
 ということでインストール.
MBP2017:.pyenv ujpadmin$ brew cask install pycharm-ce🆑
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (caskroom/cask).
No changes to formulae.

==> Satisfying dependencies
==> Downloading https://download.jetbrains.com/python/pycharm-community-2018.1.1.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask pycharm-ce
==> Installing Cask pycharm-ce
==> Moving App 'PyCharm CE.app' to '/Applications/PyCharm CE.app'.🈁
🍺  pycharm-ce was successfully installed!
MBP2017:.pyenv ujpadmin$
 サクッと入りました.

 そのままコマンドラインで起動してみる.
MBP2017:.pyenv ujpadmin$ open '/Applications/PyCharm CE.app'🆑
MBP2017:.pyenv ujpadmin$
 このあとはGUIです.


 初めてのセットアップなので設定ファイルは読み込まずに.


 プラポリ.スクロールして一番下までいく.


 プライバシーポリシーに同意する場合,Acceptボタンを押す.


 しょ設定始まるけれど,とりあえず


 白いか黒いか.お好みでどうぞ.




 BashScripitのプラグインは入れておく.










 残念.設定が足りないので,macOSに最初からインストールされているPython2.7が認識されている.
 Python3の環境構築の続き.

anaconda3-5.1.0をインストール 

 Pythonの便利パッケージのAnaconda3をPythonとともにインストールする.
MBP2017:~ ujpadmin$ pyenv install anaconda3-5.1.0🆑
Downloading Anaconda3-5.1.0-MacOSX-x86_64.sh...
-> https://repo.continuum.io/archive/Anaconda3-5.1.0-MacOSX-x86_64.sh
Installing Anaconda3-5.1.0-MacOSX-x86_64...
Installed Anaconda3-5.1.0-MacOSX-x86_64 to /Users/ujpadmin/.pyenv/versions/anaconda3-5.1.0

MBP2017:~ ujpadmin$
 結構時間かかるね.マシンの処理能力によるけど.仕事場のMacbook Airだと30分かかったけど家のMacBook Proだと10分だった...

anaconda3-5.1.0を使うようにする 

 pyenvコマンドを使って,Pythonのバージョンを切り替える.現在は1つしか入ってない.
 まずは一覧を出してみる.
MBP2017:~ ujpadmin$ pyenv versions🆑
* system (set by /Users/ujpadmin/.pyenv/version)
  anaconda3-5.1.0
MBP2017:~ ujpadmin$
 やっぱり1つしか入ってない.macOSに最初から入っているバージョンは無視だね.
 システム全体で使うバージョンを設定する.
MBP2017:~ ujpadmin$ pyenv global anaconda3-5.1.0🆑
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ pyenv versions🆑
  system
* anaconda3-5.1.0 (set by /Users/ujpadmin/.pyenv/version)🈁
MBP2017:~ ujpadmin$
 アスタリスクが切り替わっているのが確認できる.おとなしいなぁ.

macOS high Sierra上にpython3.6.5の環境を作る.

カテゴリ : 
スキルチャージ » Python
ブロガー : 
ujpblog 2018/4/23 23:43
 これまでBashとcurlでどうにかしていたREST APIアクセスだけれど,限界を感じ始めたのでちょっとPythonを勉強してみようと考えた.それでまずは環境を整える.

現在の環境を確認

 macOS High Sierra 10.13.4 に最初から入っているPythonの場所とバージョンを調べる.
MBP2017:~ ujpadmin$ which python🆑
/usr/bin/python🈁
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ python --version🆑
Python 2.7.10🈁
MBP2017:~ ujpadmin$
 履いているのは2.x系.現在はPython 3系列が主軸?らしいし文法も違うというししがらみもないので,新しいバージョンを入れていくことにする.

pyenvをいれる

 最初に,Pythonの環境を整えるためにpyenvをインストール.パッケージなどを管理するツールと考えればよろし.
 brewで情報を確認.
MBP2017:~ ujpadmin$ brew info pyenv🆑
pyenv: stable 1.2.3 (bottled), HEAD
Python version management
https://github.com/pyenv/pyenv
Not installed🈁
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/pyenv.rb
==> Dependencies
Recommended: autoconf ✘, pkg-config ✘, openssl ✘, readline ✘
==> Options
--without-autoconf
	Build without autoconf support
--without-openssl
	Build without openssl support
--without-pkg-config
	Build without pkg-config support
--without-readline
	Build without readline support
--HEAD
	Install HEAD version
MBP2017:~ ujpadmin$
 pythonに限らず開発環境を整えてないので,不足しているもの多数...インストールする.
MBP2017:~ ujpadmin$ brew install pyenv🆑
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
r

==> Installing dependencies for pyenv: autoconf, pkg-config, openssl, readline
==> Installing pyenv dependency: autoconf
==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.high_sierra.bottle.4.tar.gz
######################################################################## 100.0%
==> Pouring autoconf-2.69.high_sierra.bottle.4.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/autoconf
==> Summary
🍺  /usr/local/Cellar/autoconf/2.69: 71 files, 3.0MB
==> Installing pyenv dependency: pkg-config
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pkg-config-0.29.2.high_sierra.bottle.tar.gz
🍺  /usr/local/Cellar/pkg-config/0.29.2: 11 files, 627.2KB
==> Installing pyenv dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2o_1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2o_1.high_sierra.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2o_1: 1,791 files, 12.3MB
==> Installing pyenv dependency: readline
==> Downloading https://homebrew.bintray.com/bottles/readline-7.0.3_1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring readline-7.0.3_1.high_sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only..

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/readline/lib
    CPPFLAGS: -I/usr/local/opt/readline/include

==> Summary
🍺  /usr/local/Cellar/readline/7.0.3_1: 46 files, 1.5MB
==> Installing pyenv
==> Downloading https://homebrew.bintray.com/bottles/pyenv-1.2.3.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pyenv-1.2.3.high_sierra.bottle.tar.gz
🍺  /usr/local/Cellar/pyenv/1.2.3: 597 files, 2.4MB
MBP2017:~ ujpadmin$
 OpenSSLに関する部分が何かしなければいけないようだけれど,それは次回以降として...

pyenvをいれる

 インストールしたpyenvの場所とバージョンを確認.
MBP2017:~ ujpadmin$ which pyenv🆑
/usr/local/bin/pyenv
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ pyenv -v🆑
pyenv 1.2.3
 無事インストールできた模様.

ディストリビューションはanaconda 

 Continuum Analyticsという会社が,Python本体にデータ分析系のライブラリなどをいい感じに揃えたパッケージを用意していて,それがAnacondaという名前のディストリビューションとなっており,人気なので,深く考えずにそれにあやかってみる.
 pyenvコマンドを使って,現在利用できる最新のanacondaのリストを取り出す.
MBP2017:~ ujpadmin$ pyenv install --list|grep anaconda|sort|tail🆑
  anaconda3-4.0.0
  anaconda3-4.1.0
  anaconda3-4.1.1
  anaconda3-4.2.0
  anaconda3-4.3.0
  anaconda3-4.3.1
  anaconda3-4.4.0
  anaconda3-5.0.0
  anaconda3-5.0.1
  anaconda3-5.1.0 🈁
MBP2017:~ ujpadmin$
 今日は全部最新で行くのでanaconda3-5.1.0をインストール.ちょっと時間がかかるので別の記事とします.

広告スペース
Google