Pythonでソケットのバッファサイズを変更する

バッファサイズを変更する。 コードは以下の通り: # -*- coding: utf-8 -*- import socket def modify_buf_size(send_buf_size=1024, recv_buf_size=1024): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) bufsize = sock.getsockopt(socket.SO…

Macでコマンドを使ってパスワード付きzip圧縮ファイルを作成する

Unix系のOSならたぶんできる方法。 手順は以下の通り: ターミナルを開く ファイルの場合、「zip -e 圧縮後のファイル名 圧縮したいファイル名」と打ち込む。 ディレクトリの場合「zip -e -r 圧縮後のファイル名 圧縮したいディレクトリ名」と打ち込む。 設…

Pythonでパスワード付きのzipファイルを解凍する

Pythonでzipファイルを解凍する - 珠玉の誤訳で、Pythonでの単純なzipファイルの解凍方法を書いた。 今回はパスワード付きのzipファイルの解凍方法について書く。 とはいっても、基本的には同じ。コードは以下の通り。 import zipfile def unzip_with_pwd(fi…

Pythonでzipファイルを解凍する

Pythonでのzipファイルの解凍は、zipfileを使うだけで簡単にできる。 import zipfile def unzip(filename, path='.'): with zipfile.ZipFile(filename, 'r') as zip_file: zip_file.extractall(path=path) if __name__ == "__main__": unzip("test.zip") 単…

django.contribってなんなの?

Djangoをいじっていると、importするときによく出てくるdjango.contrib。 気になったので、調べてみた。 Djangoの標準ライブラリ Chapter 16: django.contribを見ると、どうやらdjango.contribはDjangoの標準ライブラリのようだ。 機能別にサブパッケージに…

PythonのWebアプリケーションフレームワークについてまとめる

PythonのWebアプリケーションフレームワークについて簡単に紹介してみる。 WebFrameworks - Python Wikiを参考にした。 Bottle(ボトル) http://bottlepy.org/Bottleは高速でシンプルなフレームワーク。 URLパラメータによるリクエストディスパッチ、テンプ…

【wxPython】フレームの作成

フレームは代表的なウィンドウオブジェクトです。 以下のコードでは「Test Frame」と言う名前の最小限の空のアプリケーションウィンドウが表示されます。 #!/usr/bin/env python # -*- coding: utf-8 -*- import wx class MyApp(wx.App): def OnInit(self): …

【wxPython】アプリケーションオブジェクトの作成

Appオブジェクトはアプリケーションの初期化を行います。 すべてのwxPythonアプリケーションには、Appオブジェクトが一つ存在しなければなりません。 また、他のどんなGUIオブジェクトよりも前にインスタンス化されている必要があります。 以下のコードが、…

Pythonでソケットタイムアウト値の設定と取得

コードは以下の通り: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket def test_socket_timeout(): """ タイムアウト値を設定する """ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Default socket timeout: %s" % s.getti…

Pythonでホストバイトオーダとネットワークバイトオーダ間の変換をする

低レベルネットワークのアプリケーションを書くときに、2つのマシン間での低レベルデータ伝送をすることがある。 このときデータを、ホストの形式からネットワーク形式へ変換する必要がある。コードは以下の通り: #!/usr/bin/env python # -*- coding: utf-…

Pythonでポート番号とプロトコル名からサービス名を調べる

コードは以下の通り: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket def find_service_name(port, protocolname): """ ポート番号とプロトコル名からサービス名を調べる """ print "Port: %s => service name: %s" % (port, socket.getserv…

PythonでIPv4アドレスを別の形式に変換する

PythonでIPv4アドレスを別の形式に変換する 低レベルネットワーク機能を扱いたいときに、IPアドレスを普通の文字列で表記すると扱いにくい。 そこで、パックされた32bitバイナリ形式に変換する。コードは以下の通り: #!/usr/bin/env python # -*- coding: u…

PythonでリモートホストのIPアドレスを調べる

コードは以下の通り: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket def print_remote_machine_info(remote_host): """ リモートのIPアドレスを表示する """ try: print "IP address: %s" % socket.gethostbyname(remote_host) except sock…

Pythonでローカルのホスト名とIPv4アドレスを確認する

コードは以下の通り: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket def print_local_machine_info(): """ ローカルのホスト名とIPアドレスを表示する """ host_name = socket.gethostname() ip_address = socket.gethostbyname(host_name)…

【Python】シーケンシャルオブジェクトの各要素をキーとした値が同一の辞書を作成する

>>> dic {'A': 1, 'C': 3, 'B': 2} >>> dic.fromkeys(['A', 'B', 'C'], 1) {'A': 1, 'C': 1, 'B': 1} fromkeysメソッドにより、第1引数に指定したシーケンシャルオブジェクトの各要素と同じ「キー」を持つ、新たな辞書が得られます。第2引数を指定すると、そ…