| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Python」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==Python== [Python ライブラリ]][Django][Flask][Pyramid][Zope][IronPython][Google App Engine][Pillow][Python Imaging Library][Beautiful Soup][Python NumPy][Python ma…」)
 
1行目: 1行目:
 
==Python==
 
==Python==
[Python ライブラリ]][Django][Flask][Pyramid][Zope][IronPython][Google App Engine][Pillow][Python Imaging Library][Beautiful Soup][Python NumPy][Python matplotlib][Python Win32 Extensions][pyExcelerator][Jython][PyDev][PyQt][PyScripter [[サンプルコード]|Python サンプルコード]][[[まとめ]|言語まとめ Python]][[[標準ライブラリ]|Python 標準ライブラリ概観]][[[ライブラリ]]
+
[[Python ライブラリ]][Django][Flask][Pyramid][Zope][IronPython][Google App Engine][Pillow][Python Imaging Library][Beautiful Soup][Python NumPy][Python matplotlib][Python Win32 Extensions][pyExcelerator][Jython][PyDev][PyQt][PyScripter [[サンプルコード]|Python サンプルコード]][[[まとめ]|言語まとめ Python]][[[標準ライブラリ]|Python 標準ライブラリ概観]][[[ライブラリ]]]
  
 
====インストール====
 
====インストール====
125行目: 125行目:
 
  setuptools-0.6c11.win32-py2.7.exe
 
  setuptools-0.6c11.win32-py2.7.exe
 
=====Power Shell 3以降=====
 
=====Power Shell 3以降=====
  PS C:\WINDOWS\system32> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python -
+
  PS C:\WINDOWS\system32> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python -
  
 
=====PATHに追加(2.7の例)=====
 
=====PATHに追加(2.7の例)=====
 
  C:\Python27\Scripts
 
  C:\Python27\Scripts
 
=====実行例=====
 
=====実行例=====
  c:\work\python>easy_install virtualenv
+
  c:\work\python>easy_install virtualenv
 
=====プロキシを利用している場合、以下を環境変数に設定=====
 
=====プロキシを利用している場合、以下を環境変数に設定=====
 
HTTP_PROXY=http://プロキシサーバ:ポート
 
HTTP_PROXY=http://プロキシサーバ:ポート
153行目: 153行目:
 
====Windows====
 
====Windows====
 
=====インストール=====
 
=====インストール=====
<blockquote>上記 パッケージ管理 を参照し、easy_install を利用出来るようにしておく</blockquote>
+
&lt;blockquote&gt;上記 パッケージ管理 を参照し、easy_install を利用出来るようにしておく&lt;/blockquote&gt;
 
  c:\easy_install virtualenv
 
  c:\easy_install virtualenv
 
=====ワークスペースの作成=====
 
=====ワークスペースの作成=====
  c:\work\python>python -m virtualenv env
+
  c:\work\python&gt;python -m virtualenv env
 
  New python executable in env\Scripts\python.exe
 
  New python executable in env\Scripts\python.exe
 
  Installing setuptools................done.
 
  Installing setuptools................done.
162行目: 162行目:
 
=====仮想環境の実行=====
 
=====仮想環境の実行=====
 
*Scripts\activate の実行
 
*Scripts\activate の実行
  c:\work\python>cd env\Scripts
+
  c:\work\python&gt;cd env\Scripts
 
   
 
   
  c:\work\python\env\Scripts>activate
+
  c:\work\python\env\Scripts&gt;activate
  (env) c:\work\python\env\Scripts>
+
  (env) c:\work\python\env\Scripts&gt;
 
=====仮想環境の停止=====
 
=====仮想環境の停止=====
 
*Scripts\deactivate の実行
 
*Scripts\deactivate の実行
  (env) c:\work\python\env\Scripts>deactivate
+
  (env) c:\work\python\env\Scripts&gt;deactivate
  
 
=====Tclライブラリが見つからない=====
 
=====Tclライブラリが見つからない=====
221行目: 221行目:
 
  print '686f6765'.decode('hex')
 
  print '686f6765'.decode('hex')
 
====2進数文字列を10進数に変換====
 
====2進数文字列を10進数に変換====
  >>> int('10101100',2)
+
  &gt;&gt;&gt; int('10101100',2)
 
  172
 
  172
 
====IPアドレスを2進数で表示====
 
====IPアドレスを2進数で表示====
  >>> "{0:08b}.{1:08b}.{2:08b}.{3:08b}".format(172,31,16,0)
+
  &gt;&gt;&gt; "{0:08b}.{1:08b}.{2:08b}.{3:08b}".format(172,31,16,0)
 
  '10101100.00011111.00010000.00000000'
 
  '10101100.00011111.00010000.00000000'
 
*戻す
 
*戻す
  >>> '.'.join([str(int(x,2)) for x in  "10101100.00011111.00010000.00100000".split(".")])
+
  &gt;&gt;&gt; '.'.join([str(int(x,2)) for x in  "10101100.00011111.00010000.00100000".split(".")])
 
  '172.31.16.32'
 
  '172.31.16.32'
 
===ログ===
 
===ログ===
242行目: 242行目:
 
====正規表現による分割====
 
====正規表現による分割====
 
*re.split を利用
 
*re.split を利用
  >>> import re
+
  &gt;&gt;&gt; import re
  >>> re.split('[ \t\n\.\,]', 'this is\ta\npen.')
+
  &gt;&gt;&gt; re.split('[ \t\n\.\,]', 'this is\ta\npen.')
 
  ['this', 'is', 'a', 'pen', '']
 
  ['this', 'is', 'a', 'pen', '']
  
 
====正規表現による置換====
 
====正規表現による置換====
 
*re.sub(pattern, repl, string, count=0, flags=0) を利用する
 
*re.sub(pattern, repl, string, count=0, flags=0) を利用する
  >>> s = r'AaBbCc'
+
  &gt;&gt;&gt; s = r'AaBbCc'
  >>> re.sub(r'[a-z]',r'',s)
+
  &gt;&gt;&gt; re.sub(r'[a-z]',r'',s)
 
  'ABC'
 
  'ABC'
 
====ユーザーからの入力を得る====
 
====ユーザーからの入力を得る====

2020年2月15日 (土) 08:05時点における版

目次

Python

Python ライブラリ[Django][Flask][Pyramid][Zope][IronPython][Google App Engine][Pillow][Python Imaging Library][Beautiful Soup][Python NumPy][Python matplotlib][Python Win32 Extensions][pyExcelerator][Jython][PyDev][PyQt][PyScripter [[サンプルコード]|Python サンプルコード]][[[まとめ]|言語まとめ Python]][[[標準ライブラリ]|Python 標準ライブラリ概観]][[[ライブラリ]]]

インストール

  • CentOS6にPython2.7をインストール
  • Django インストール

[言語まとめ Python] [言語まとめ]

  • [言語まとめ Python] [言語まとめ]

[Python サンプルコード] [サンプルコード(ファイル、コレクション・・・)]

  • [Python サンプルコード] [サンプルコード(ファイル、コレクション・・・)]
  • [Python CookBook] [サンプルコード(CookBook)]

[Python サンプルコード オブジェクト指向] [サンプルコード(オブジェクト指向)]

  • [Python サンプルコード オブジェクト指向] [サンプルコード(オブジェクト指向)]

[Python 標準ライブラリ概観] [標準ライブラリ概観]

詳細
  • [Python 標準ライブラリ概観] [標準ライブラリ概観]
概要
処理内容 標準ライブラリ
OSインターフェース [Python 標準ライブラリ概観] [os]
ファイルのワイルドカード [Python 標準ライブラリ概観] [glob]
コマンドライン引数 [Python 標準ライブラリ概観] [sys]
標準エラーを出力しプログラムを終了 [Python 標準ライブラリ概観] [sys]
正規表現を利用する [Python 標準ライブラリ概観] [re]
数学 [Python 標準ライブラリ概観] [math]
URL による任意のリソースへのアクセス [Python 標準ライブラリ概観] [urllib]
インターネットアクセス [Python 標準ライブラリ概観] [urllib2]
日付と時刻 [Python 標準ライブラリ概観] [date、datetime、time]
時間計算 [Python 標準ライブラリ概観] [time]
データ圧縮 zlib
パフォーマンス計測 [Python 標準ライブラリ概観] [timeit]
品質管理 [Python 標準ライブラリ概観] [doctest]
出力書式 [Python 標準ライブラリ概観] [repr、pprint、textwrap、locale]
テンプレート [Python 標準ライブラリ概観] [Template]
シリアライズ [Python 標準ライブラリ概観] [pickle]
バイナリデータレコードレイアウトでの作業 [Python 標準ライブラリ概観] [struct]
オブジェクトのコピー [Python 標準ライブラリ概観] [copy]
マルチスレッド [Python 標準ライブラリ概観] [threading]
ロギング [Python 標準ライブラリ概観] [logging]
XML Dom [Python 標準ライブラリ概観] [xml.dom]
XML ElementTree [Python 標準ライブラリ概観] [xml.etree]
データベースの使用 [Python 標準ライブラリ概観] [sqlite3]

[Python ビルトインオブジェクト] [ビルトインオブジェクト]

  • [Python ビルトインオブジェクト] [ビルトインオブジェクト]

Python サンプルコード

全般
  • [Python サンプルコード] [サンプルコード(ファイル、コレクション・・・)]
  • [Python サンプルコード オブジェクト指向] [サンプルコード(オブジェクト指向)]
  • [Python 組込関数] [組込関数]
サンプル
  • Python ファイル読み書き
  • Python ゼロ埋め
  • Python 3項演算子
  • Python 環境変数PATHからファイル検索
  • Python ファイルを削除
  • Python 数値の桁数を得る

Python Osmosis

  • [Python if for] [Episode 6: Flow Control, if and for Statements]
  • [Python Range] [Episode 7: The Range Function]
  • [Python Decimal] [Episode 50: Standard Library: Decimal Floating Point Arithmetic]

IDE

  • Python IDEにて矢印キーでヒストリー表示
  • Python IDEをCentOSで利用する

パッケージ管理

setuptools

Windows

上記ページからインストーラをダウンロードして実行(2.7の例)
setuptools-0.6c11.win32-py2.7.exe
Power Shell 3以降
PS C:\WINDOWS\system32> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python -
PATHに追加(2.7の例)
C:\Python27\Scripts
実行例
c:\work\python>easy_install virtualenv
プロキシを利用している場合、以下を環境変数に設定

HTTP_PROXY=http://プロキシサーバ:ポート

Windows PIPを利用する

Windows 用 バイナリパッケージ

仮想環境

VirtualEnvを利用してPythonの仮想環境を作成

Python 3以降同梱されている

python3 -m venv /path/to/new/virtual/environment

それ以前

CentOS

Windows

インストール

<blockquote>上記 パッケージ管理 を参照し、easy_install を利用出来るようにしておく</blockquote>

c:\easy_install virtualenv
ワークスペースの作成
c:\work\python>python -m virtualenv env
New python executable in env\Scripts\python.exe
Installing setuptools................done.
Installing pip...................done.
仮想環境の実行
  • Scripts\activate の実行
c:\work\python>cd env\Scripts

c:\work\python\env\Scripts>activate
(env) c:\work\python\env\Scripts>
仮想環境の停止
  • Scripts\deactivate の実行
(env) c:\work\python\env\Scripts>deactivate
Tclライブラリが見つからない
Python VirtualEnvでIDLEを利用する

Ubuntu

インストール
$ sudo apt-get install python-virtualenv

WinPython

  • WinPython

フレームワーク

Web

Django

  • Django

Google App Engine

  • Google App Engine

O/Rマッパー

SQLAlchemy

プラグイン

PyDev

  • PyDev Eclipseプラグイン

Python ライブラリ

  • Python ライブラリ

デバッグ

GUI

  • PyQt

実践

自然言語処理

  • 自然言語処理
  • Python NLTK(Natural Language Toolkit)
  • Python MeCab(日本語形態素解析)

Tips

文字コード

[Python ファイルの文字コード] [ファイルの文字コード]

[Python URLエンコード] [URLエンコード]

Python UnicodeEncodeError の対処

Python ユニコードエスケープをデコード

Python CSVファイル

書式

文字列を16進数に変換

print 'hoge'.encode('hex')
print '686f6765'.decode('hex')

2進数文字列を10進数に変換

>>> int('10101100',2)
172

IPアドレスを2進数で表示

>>> "{0:08b}.{1:08b}.{2:08b}.{3:08b}".format(172,31,16,0)
'10101100.00011111.00010000.00000000'
  • 戻す
>>> '.'.join([str(int(x,2)) for x in  "10101100.00011111.00010000.00100000".split(".")])
'172.31.16.32'

ログ

  • Python 任意のファイルにログを出力する

サンプル

Python 組合せと順列の計算

Python パスワード生成

その他

[Python help関数の使い方] [help関数の使い方]

  • Python help関数の使い方

プロパティを持っているか

hasattr(インスタンス,プロパティ名)

正規表現による分割

  • re.split を利用
>>> import re
>>> re.split('[ \t\n\.\,]', 'this is\ta\npen.')
['this', 'is', 'a', 'pen', ]

正規表現による置換

  • re.sub(pattern, repl, string, count=0, flags=0) を利用する
>>> s = r'AaBbCc'
>>> re.sub(r'[a-z]',r,s)
'ABC'

ユーザーからの入力を得る

  • raw_input を利用する
number = int(raw_input("please input int:"))

日本語のクエリパラメータ

import urllib
import urllib2
url = r'https://maps.googleapis.com/maps/api/place/nearbysearch/json?%s'
queries = {
    'key':GOOGLE_API_SRVER_KEY,
    'location':'35.1814464,136.906398',
    'radius':'500',
    'keyword':u'まんが喫茶'.encode('utf-8')
}
data = urllib.urlencode(queries)
req = url % data
print req
response = urllib2.urlopen(req)
for l in response:
    print l

文字化け

  • Python 対話シェルへユニコードを文字として表示する
  • PyScripter 日本語ファイルエラーの対応
  • Python URLエンコード
  • Python UnicodeEncodeError の対処
  • Python ファイルの文字コード
  • Python ユニコードエスケープをデコード
  • Python 対話シェルへユニコードを文字として表示する