Python

PythonでOpenCVさわってみた

OpenCV インストール PythonでOpenCVを使う@Mac - Qiita ここ参照. 基本コード # coding: utf-8 import cv2 import math import numpy as np # ファイル名の指定 file_src = '2.png' file_dst = '2.png' # 画像の読み込み img_src = cv2.imread(file_src, 1)…

Pythonでスタックとキュー

スタック class Stack: def __init__(self, stack = None,max = 100): self.max = max if type(stack) is type([]): self.stack = stack elif stack is None: self.stack = [] else: print('Please list type!\n') def push(self, e): if not self.is_full()…

Python3 文法メモ

クロージャ def closure(param): def inner(): return "Hello %s" % param return inner c1 = closure("MARIO") print(c1()) # Hello MARIO c2 = closure("LUIGI") print(c2()) # Hello LUIGI ラムダ def hello(names, func): for name in names: func(name)…

Cython 文法メモ

# ライブラリのインポート from libc.math cimport sin from libc.string cimport strcmp from libc.stdio cimport fopen,fclose,fgets,fseek,ftell,fwrite # 関数宣言 def main(): #変数宣言 cdef int a=1 cdef char* s = "Hello マリオさん。こんにちは" c…

CythonとPythonとの処理時間の比較

Pythonを高速化するCythonを使ってみた - Kesin's diary ここに書いてあることがおもしろそうだったのでやってみた. 1~100000000まで足しこむプログラム. 環境はmacで。 C #include <stdio.h> int main(){ int i,n=0; for(i=0;i<100000000;i++) n+=i; } オプションで</stdio.h>…

Pythonの文法での疑問 set list

>>> a = [set([])]*7 >>> a [set(), set(), set(), set(), set(), set(), set()] こんな感じでsetのリストを作ってa[1]だけに1を入れようとしたところ >>> a[1].add(1) >>> a [{1}, {1}, {1}, {1}, {1}, {1}, {1}] ってなるのなんでだろう...って思って Twit…

PythonでMySQL基本操作

ライブラリのインストール ここからmysql-connector-pythonのzipファイルをダウンロード. Index of Packages : Python Package Index そして、解凍先へ行って python setup.py install するだけ。 コード import mysql.connector try: cnn = mysql.connector…

各言語での実行時間計測

各言語での実行時間の計測メモ。 シェルスクリプト #!/bin/sh TIME_START=`date +%s` # start # end TIME_END=`date +%s` PT=`expr ${TIME_END} - ${TIME_START}` H=`expr ${PT} / 3600` PT=`expr ${PT} % 3600` M=`expr ${PT} / 60` S=`expr ${PT} % 60` ec…

スレッド Python

スレッドの使い方のメモ。 # coding:utf-8 import threading # スレッドクラスの継承 # 独自スレッドクラス定義 class MyThread(threading.Thread): # 初期化処理 def __init__(self): super(MyThread, self).__init__() # スレッドの処理 def run(self): pr…

統計の基礎とPython

本読みながらコード書いて勉強しています。 Rで統計したことあるけども、Pythonでも。 以下コードメモ。 # coding:utf-8 import numpy as np # データ data = np.array([34,35,47,51,58,62,81]) # 平均計算 ave = np.average(data) print(u"平均:"+str(ave)…

Python でのエラー処理

たまに忘れるんでメモ。 エラー処理 Javaなら例えば try{ # したい処理 }catch(Exception e){ # エラー処理 } というふうに書く。 Pythonなら try: # したい処理 except: # エラー処理 で、エラーのオブジェクトがほしいときは try: # したい処理 except Exc…

スクレイピング Python

メモ。 import urllib2 from bs4 import BeautifulSoup html = urllib2.urlopen("http://www.oreilly.co.jp/index.shtml") soup = BeautifulSoup(html,"lxml") list = soup.find_all("a") for i in list: print i.string,i.get("href")

Python で Windows cmd.exe 上でコマンド実行

cmd.exe起動して、python main.py とかして実行. import subprocess for i in range(100): cmd = "dir" subprocess.call(cmd,shell=True) 100回dirされるだけ。 どうやら、 vssadmin list shadows みたいな管理者権限チックなコマンドの場合、動かないときが…

ネットワークプログラミング Python

ネットワークプログラミングメモ netaddr ライブラリ とりあえずインストール sudo pip install netaddr そして、 >>> from netaddr import IPNetwork >>> for i in IPNetwork("192.168.0.0/24"): ... print i ... 192.168.0.0 192.168.0.1 192.168.0.2 〜省…

指定ディレクトリ以下の画像ファイル名を再帰的にすべて取得するプログラム (Python)

os.walkを使えば再帰的にディレクトリ探索ができる. 「今調べている最中のディレクトリ名」「見つかったディレクトリのリスト」「見つかったファイルのリスト」を返すらしい(参考文献より)。 # coding: utf-8 import os,imghdr,shutil def get_image_list(pa…

NTFSのタイムスタンプ

どうやらNTFSでは1601年1月1日0時0分からの100ナノ秒単位でタイムスタンプを計算しているらしい。 バイナリエディタなどで16進数で表現されたときにMACTimeなどを読めるように変換するときのプログラムのメモ. # coding: utf-8 import datetime val = 0x01d1…

Pythonでのビット反転

pythonでのビット反転では反転を表す「~」を使うんですが >>> bin(4) '0b100' >>> bin(~4) '-0b101' いや、'0b11'ってなってほしいんやけど...ということがあったので、 ちゃんと反転するようにプログラム書いた def int_reverse(num): num_len = len(bin(nu…

様々なファイル操作 ライブラリメモ (python3.4)

CSVファイル # csvファイルの出力 リストとして出力 with open("sample.csv",mode='r',encoding='utf-8') as f: reader = csv.reader(f) for row in reader: print(row) # csv -> tsv with open("sample.csv",mode='r',encoding='utf-8') as read_file: read…

Web,暗号,正規表現 ライブラリメモ (python3.4)

Web urllib.parse URLのパースを行う result = parse.urlparse( 'https://www.google.co.jp?q=example&qq=1#hoge') print(result) print(result.geturl()) # URL取得 print(result.path) # パス名取得 print(parse.parse_qs(result.query)) # クエリ取得 req…

pydoc さわってみた

モジュールのドキュメントが見れたり、簡単なドキュメントが作れるらしいよpydoc 使い方 ターミナル立ち上げて $ python Python 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Type "help", "…

Pythonのリスト内包表記と単純ループ

最近、Pythonでの開発をしていてテクニックのようなことを勉強したいと思い エキスパートPythonプログラミング作者: Tarek Ziade,稲田直哉,渋川よしき,清水川貴之,森本哲也出版社/メーカー: KADOKAWA/アスキー・メディアワークス発売日: 2010/05/28メディア:…

Pyhtonによるデバッガ (Windows)

リバースエンジニアリング ―Pythonによるバイナリ解析技法 (Art Of Reversing)作者: Justin Seitz,安藤慶一出版社/メーカー: オライリージャパン発売日: 2010/05/22メディア: 単行本(ソフトカバー)購入: 4人 クリック: 359回この商品を含むブログ (29件) …

PyQt さわってみた

研究で使うツールをPythonとTk使って書いていたんですが UIがまあまあダサい(個人的に)のと、 widgetの配置がうまくいかないんで PythonのGUIライブラリやらを使ってみようと思いました。そこで、PyQtというものを選びました。以下のURLを参考にしてインスト…

Webサイト上の画像を一括にダウンロード

Webスクレイピングのライブラリのpyqueryで画像ダウンローダを作ってみました。 from pyquery import PyQuery as pq import urllib.request, os, sys if len(sys.argv) != 3: print("Usage: python3 main.py savepath URL") sys.exit() x = sys.argv[2].spli…