開始行:
** パッケージング [#g46d9584]
http://python.civic-apps.com/dist-library/
**モジュールのアップデート [#k6b5fc40]
pip list -o
とすると,outdated なパッケージ一覧が出ます.
一度インストールしたパッケージをアップグレードする場合に...
% pip install scipy -U
anacondaのアップデート
conda update condo
conda update anaconda
conda update --all
** Python32bit と 64bitの共存 [#a5cc0411]
- (状態) Anaconda64bitがプライマリとしてインストール
- Anacondaの32bitをC直下にインストール
- PyCharm上でconnsoleを開くと64bit。
- 下batのPATH部分だけをコンソールに走らす。
PythonPathを変えるbat
@echo off
::: 実行前の準備
set EXEC_DIR=%~dp0
::: python
PATH=C:\Anaconda2_32bit;C:\Anaconda2_32bit\Scripts;%PATH%
cd %EXEC_DIR%
PROMPT #$S
%ComSpec%
** フォルダの新規作成
# 格納親ディレクトリの
RESULT_DIR_ROOT = '(tmp)TF_Average_txt'
if os.path.exists(RESULT_DIR_ROOT):
shutil.rmtree(RESULT_DIR_ROOT)
os.mkdir(RESULT_DIR_ROOT)
else:
os.mkdir(RESULT_DIR_ROOT)
** Python PATHの設定 [#xe741b4e]
64bit版と32bit版を共存させる。ターミナルではデフォルトで3...
そこで、システム環境設定からPYTHONPATHを変更する
PYTHONPATHの設定
set PYTHONPATH=%PYTHONPATH%;C:\Anaconda2_32bit;
set PYTHONPATH=%PYTHONPATH%;C:\Users\0160929\AppData\Loc...
SYSTEM PATHへ追加
PATH = %PATH%;C:\Users\0160929\AppData\Local\Continuum\A...
PATH = %PATH%;C:\Anaconda2_32bit;C:\Anaconda2_32bit\Scri...
PATHも通す
C:\Anaconda2_32bit;
C:\Anaconda2_32bit\Scripts;
C:\Anaconda2_32bit\Library\bin
** ファイルフォルダ操作 [#v0573099]
*** フォルダ内のフォルダ一覧を取得 [#g1d9b436]
BASE_DIR = os.path.dirname(sys.argv[0])
SEARCH_PATH = os.path.join(BASE_DIR, '*')
SOURCE_DIR =[dir for dir in glob.glob() if os.path.isdir...
sys.path.append(os.path.join(BASE_DIR, './GolfClassifica...
file_name = os.path.basename(filepath)
UPLOAD_FOLDER_NAME = 'image'
PHISICAL_ROOT = os.path.abspath('./')
ALLOWED_EXTENSIONS = set(['.PNG', '.png', '.JPG', '.jpg'...
UPLOAD_FOLDER = os.path.join(PHISICAL_ROOT, UPLOAD_FOLDE...
** iPython Notebook [#g6ea7e98]
起動方法
$ipython notebook
** iPythonおまじない [#lb7e6868]
iPythonとmatplotlibを使ってグラフを描画するときのおまじな...
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
** nbviwer [#h75d005f]
.ipynbファイルをgistかgithubにアップロードして置くことで...
#ref(s-nbviewer.jpg,,50%)
[[→nbviwer>http://nbviewer.ipython.org/]]
** 時間計測 [#x64e078e]
import time
start = time.time()
print(">> Finish Analys :{0}".format(time.time() - s...
** PyInstaller [#qde9d4cd]
pyinstaller SimpleTextEditor.py --onefile --noconsole
+ --onefile : .exeを一つのファイルにする
+ --windowed, -w : コマンドプロンプト非表示
+ -i<appicon.icon>, --icon=<appicon.icon> : プログラムの...
+ --noconsole : コマンドプロンプト非表示
*** エラー IOError: [Errno 22] invalid mode ('rb') or fi...
File "C:\Users\fifi\Anaconda\lib\site-packages\PyInstal...
data = open(fnm, "rb").read()
IOError: [Errno 22] invalid mode ('rb') or filename: ''
- 見つけた対策 1
[[http://codedmi.com/questions/785472/pyinstaller-errno-2...
Well reinstalled pywin32 and now working :S just going g...
Just spent the better part of a week tracking this bug d...
Eventually fixed it by running command prompt as adminis...
Hope this helps some poor desperate soul.
I had the same issues but found these other solutions di...
First, my situation may be a little different to the OP ...
I found the same IOError was preceded by this earlier er...
ImportError: No system module 'pywintypes' (pywintypes27...
The solution that fixed both errors was to copy the DLL ...
pywintypes27.dll
pythoncom27.dll
sitting in: C:\<anaconda-dir>\Lib\site-packages\win32
to C:\<anaconda-dir>\Lib\site-packages\win32\lib
Where <anaconda-dir> will either be your root Anaconda d...
C:\Users\<username>\AppData\Local\Continuum\Anaconda\ by...
or an environment you have set up e.g.
C:\Users\<username>\AppData\Local\Continuum\Anaconda\env...
A came across this answer thanks to Tompa here, who foun...
** エラーの発行 raise [#ya1a635b]
[[→組み込み例外>http://docs.python.jp/2/library/exception...
# ファイルが存在しない場合は返却
if not os.path.exists(filepath):
# raise StandardError("File is not exist %s" ...
return
try:
# ファイルオープン
data = wave.open(filepath, 'rb')
except IOError:
raise StandardError("Cant file load %s" % (filepath))
else:
# 正常時の処理
finally:
pass
** 例外処理のよい例・悪い例 [#hc442a98]
まずは悪い例
def get_status(file):
if not os.path.exists(file):
print "file not found"
sys.exit(1)
return open(file).readline()
これだと、open(file)の際に出たエラーを捕まえていない。
よい例
def get_status(file):
try:
return open(file).readline()
except EnvironmentError as err:
print "Unable to open file: {}".format(err)
sys.exit(1)
** LookupError: unknown encoding: windows-31j [#r75276b1]
- Pycahrmの設定で、文字コード設定をUTF=8に変更する
** py2exe [#m8b6bf68]
[[→http://www.py2exe.org/>http://www.py2exe.org/]]
[[→py2exe Python スクリプトからスタンドアロンのWindowsプ...
[[→Py2exe 利用ノート>https://showa-yojyo.github.io/note/p...
[[→Pythonで単体で動くバイナリを作ろう!>http://python.mat...
どうもPySideを使っているとPyInstallerが上手くexe化してく...
- 日本語で読むならこちら
-- 非常に丁寧に説明がされており、概要をしるにはぴったり。
[[PYINSTALLERの遅さにがっかりしてPY2EXEにしたら爆速で驚い...
-- 公式のチュートリアル(英語)。まずはHelloworldをexe化す...
[[py2exe tutorial>http://www.py2exe.org/index.cgi/Tutoria...
** platformを調べる [#of715af6]
################# if PySide not installed inside houdini...
import platform
if platform.system() == 'Windows':
sp = 'C:/Python27/Lib/site-packages'
if not sp in sys.path:
# if os.path.exists(sp):
sys.path.insert(0, sp)
print sp
** OpenCV for Python [#a9fc4196]
- 参考資料
[[OpenCV Computer Vision with Python>http://www.amazon.co...
#ref(opencv.jpg)
** 初心者ミス [#l781acba]
Pythonをコーディングしている時に発生する初心者ミスをまと...
- def__init(self)
-- 正しくは、def __init__(self)。意外と良くやってしまう。
**型判定・型判別 [#l8b1bc1f]
- type か isinstanceを使う
-- if type(a):
-- if isinstance(a, int):
** PythonでC言語のDLLを呼び出す [#t66c4af7]
[[詳しくはこちら>https://gist.github.com/peace098beat/783...
*** ダミーのcファイル : dll.c [#p457d348]
void printdll(double * a_ary, int a_ary_length) {
int i;
for (i = 0; i < a_ary_length; i++) {
// printf("a_ary[%d] = %d\n", i, a_ary[i]);
a_ary[i] = a_ary[i]*a_ary[i];
}
}
*** dllの呼び出し確認用コード [#oba2387b]
#!coding: utf-8
# ***************************************************
#
# main.py
# dllの呼び出し確認用コード
#
# ***************************************************
from ctypes import *
# 標準dllの呼び出し(テスト)
# cdll.msvcrt.printf('Hello, world!\n')
# cdll.msvcrt.printf('double value: %f\n', c_double(3.14))
# 自作dllの呼び出し
userdll = windll.LoadLibrary('rcadll.dll')
# 定数
FRAME_SIZE = 1024
# 配列のオブジェクトを作成する
# C言語で言うならば、array_aype = (int*)malloc(sizeof(in...
ArrayType = c_double * FRAME_SIZE
stft_data = ArrayType()
ResultData = c_double * 5
res_data = ResultData()
# 作成した配列に値を入れる
for i, val in enumerate(stft_data):
stft_data[i] = i
# 自作のdllを呼び出す(値を2乗する関数)
# ポインタを渡している格好になる.
userdll.printdll(stft_data, FRAME_SIZE)
** PyCharm コードテンプレート [#z279d0be]
#! coding:utf-8
"""
${NAME}
Created by ${USER} (${DATE} ${TIME})
"""
def main():
pass
if __name__ == "__main__":
main()
** パスの取り扱い [#nd6582f6]
os.path.dirname(sys.argv[0])
os.path.normpath()
os.path.join()
os.path.exists()
path, ext = os.path.splitext(target_filepath)
basename = os.path.basename(path)
** csv writer [#p762241a]
os別のエンコード対策はこちら
https://gist.github.com/peace098beat/696e741f941801ed705e
def save(self, filename=None):
if filename is None:
filename = 'result.csv'
filename = os.path.normpath(filename)
with open(filename, 'wb') as f: #'wb'じゃないと...
writer = csv.writer(f, delimiter=',')
for i in range(len(self.wav_filepath_s)):
writer.writerow([self.wav_filepath_s[i]])
for i in range(len(self.wav_filepath_s)):
writer.writerow([os.path.basename(self.wa...
writer.writerow(['eval (1)', ])
for i in range(len(self.wav_filepath_s)):
writer.writerow(self.result_table[i])
csvが文字化けしたら。。(現時点では意味が分からない)
http://d.hatena.ne.jp/bonlife/20070831/1188564822
** エクスプローラを開く [#u12ee4fe]
import subprocess
cmd_dir = 'explorer "%s"' % (os.path.normpath(os....
subprocess.Popen(cmd_dir)
cmd_file = 'explorer /select, "%s"' % (os.path.no...
subprocess.Popen(cmd_file)
# 日本語Path対応
# OSを判定し、文字コードを取得
if os.name is 'nt':
code = 'cp932'
else:
code = 'utf-8'
# UNICODE文字列から、OSに合わせてエンコード:文字...
filename_ = filename.encode(code)
# エクスプローラをオープン
cmd_file = 'explorer /select, "%s"' % (os.path.no...
Popen(cmd_file)
** 辞書ソート [#h8206c4e]
# -- ソート結果の表示
sum_list = [sum(ary) for ary in result_ta...
name_list = [os.path.basename(path) for p...
summary = zip(name_list, sum_list)
summary = sorted(summary, key=itemgetter...
# summary = sorted(summary, key=lambda x:...
writer.writerows(summary)
** 文字化け対応(日本語Path) [#idca0fa1]
# OSを判定し、文字コードを取得
import os
if os.name is 'nt':
code = 'cp932'
else:
code = 'utf-8'
# 文字列(Unicode)をバイト列へエンコード
filename_ = filename.encode(code)
** PyAudioで音量を変える [#edc1a5e9]
PyEQが参考になる。
バイナリデータをPCMに変えて、
PCMをfloatに変換
ブースト処理をかけて
float->PCM->binaryに戻すとできる。
http://flamingoengine.googlecode.com/svn/trunk/backends/a...
https://mail.python.org/pipermail/tutor/2012-September/09...
まとめ
https://gist.github.com/peace098beat/e00e30e10cb6b8ff753c
** PythonでWindowsAPIを使う [#bbf17f86]
- PyHookモジュールが便利。ただ32bit版しかないのでこちらよ...
http://www.lfd.uci.edu/~gohlke/pythonlibs/
# ダウンロードする
pyHook-1.5.1-cp27-none-win_amd64.whl
# ダウンロードしたフォルダでShift+右クリック>コマンドプ...
pip install pyHook-1.5.1-cp27-none-win_amd64.whl
http://sourceforge.net/p/pyhook/wiki/PyHook_Tutorial/
import pythoncom, pyHook
def OnMouseEvent(event):
# called when mouse events are received
print 'MessageName:',event.MessageName
print 'Message:',event.Message
print 'Time:',event.Time
print 'Window:',event.Window
print 'WindowName:',event.WindowName
print 'Position:',event.Position
print 'Wheel:',event.Wheel
print 'Injected:',event.Injected
print '---'
# return True to pass the event to other handlers
return True
# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.MouseAll = OnMouseEvent
# set the hook
hm.HookMouse()
# wait forever
pythoncom.PumpMessages()
** タスクトレイアプリ [#p6b1b495]
http://moco.sakura.ne.jp/python/pyside-でタスクトレイアプ...
pythonでのWindowsサービスの書き方
http://masahito.hatenablog.com/entry/20110511/1305107553
** QThreadでストレスフルな生活を [#ea04b268]
http://melpystudio.blog82.fc2.com/blog-entry-125.html
** ファイル名をTimeStampにする [#oc770e02]
filename_base = datetime.datetime.now().strftime("%Y%m%d...
filename = os.path.abspath(os.path.join(DIRPATH_LOGFILE,...
** 文字コーーーーーード [#c2fb24e5]
UNICODE = String 文字!
それ以外は(例utf-8)はバイトコード!!
# 解析結果をstring(UNICODE)型へキャスト
print_str = str(token).decode('utf8')
# Unicode をバイトコードへエンコード
code = 'cp932' or 'utf-8'
out_word = words.encode(code)
** ネットワークリソースのダウンロード [#l645a19e]
# Network Resourse Download
import urllib
url = 'http://localhost/recome/(ed)REC_A01_14B330_Mic7.w...
path = 'download.wav'
urllib.urlretrieve(url, path)
** 累乗計算 [#y3af0fd6]
def ruijou(self, x):
from numpy import log2, floor
y0 = log2(x)
# 最小t
p = floor(y0)
return int(2 ** p)
終了行:
** パッケージング [#g46d9584]
http://python.civic-apps.com/dist-library/
**モジュールのアップデート [#k6b5fc40]
pip list -o
とすると,outdated なパッケージ一覧が出ます.
一度インストールしたパッケージをアップグレードする場合に...
% pip install scipy -U
anacondaのアップデート
conda update condo
conda update anaconda
conda update --all
** Python32bit と 64bitの共存 [#a5cc0411]
- (状態) Anaconda64bitがプライマリとしてインストール
- Anacondaの32bitをC直下にインストール
- PyCharm上でconnsoleを開くと64bit。
- 下batのPATH部分だけをコンソールに走らす。
PythonPathを変えるbat
@echo off
::: 実行前の準備
set EXEC_DIR=%~dp0
::: python
PATH=C:\Anaconda2_32bit;C:\Anaconda2_32bit\Scripts;%PATH%
cd %EXEC_DIR%
PROMPT #$S
%ComSpec%
** フォルダの新規作成
# 格納親ディレクトリの
RESULT_DIR_ROOT = '(tmp)TF_Average_txt'
if os.path.exists(RESULT_DIR_ROOT):
shutil.rmtree(RESULT_DIR_ROOT)
os.mkdir(RESULT_DIR_ROOT)
else:
os.mkdir(RESULT_DIR_ROOT)
** Python PATHの設定 [#xe741b4e]
64bit版と32bit版を共存させる。ターミナルではデフォルトで3...
そこで、システム環境設定からPYTHONPATHを変更する
PYTHONPATHの設定
set PYTHONPATH=%PYTHONPATH%;C:\Anaconda2_32bit;
set PYTHONPATH=%PYTHONPATH%;C:\Users\0160929\AppData\Loc...
SYSTEM PATHへ追加
PATH = %PATH%;C:\Users\0160929\AppData\Local\Continuum\A...
PATH = %PATH%;C:\Anaconda2_32bit;C:\Anaconda2_32bit\Scri...
PATHも通す
C:\Anaconda2_32bit;
C:\Anaconda2_32bit\Scripts;
C:\Anaconda2_32bit\Library\bin
** ファイルフォルダ操作 [#v0573099]
*** フォルダ内のフォルダ一覧を取得 [#g1d9b436]
BASE_DIR = os.path.dirname(sys.argv[0])
SEARCH_PATH = os.path.join(BASE_DIR, '*')
SOURCE_DIR =[dir for dir in glob.glob() if os.path.isdir...
sys.path.append(os.path.join(BASE_DIR, './GolfClassifica...
file_name = os.path.basename(filepath)
UPLOAD_FOLDER_NAME = 'image'
PHISICAL_ROOT = os.path.abspath('./')
ALLOWED_EXTENSIONS = set(['.PNG', '.png', '.JPG', '.jpg'...
UPLOAD_FOLDER = os.path.join(PHISICAL_ROOT, UPLOAD_FOLDE...
** iPython Notebook [#g6ea7e98]
起動方法
$ipython notebook
** iPythonおまじない [#lb7e6868]
iPythonとmatplotlibを使ってグラフを描画するときのおまじな...
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
** nbviwer [#h75d005f]
.ipynbファイルをgistかgithubにアップロードして置くことで...
#ref(s-nbviewer.jpg,,50%)
[[→nbviwer>http://nbviewer.ipython.org/]]
** 時間計測 [#x64e078e]
import time
start = time.time()
print(">> Finish Analys :{0}".format(time.time() - s...
** PyInstaller [#qde9d4cd]
pyinstaller SimpleTextEditor.py --onefile --noconsole
+ --onefile : .exeを一つのファイルにする
+ --windowed, -w : コマンドプロンプト非表示
+ -i<appicon.icon>, --icon=<appicon.icon> : プログラムの...
+ --noconsole : コマンドプロンプト非表示
*** エラー IOError: [Errno 22] invalid mode ('rb') or fi...
File "C:\Users\fifi\Anaconda\lib\site-packages\PyInstal...
data = open(fnm, "rb").read()
IOError: [Errno 22] invalid mode ('rb') or filename: ''
- 見つけた対策 1
[[http://codedmi.com/questions/785472/pyinstaller-errno-2...
Well reinstalled pywin32 and now working :S just going g...
Just spent the better part of a week tracking this bug d...
Eventually fixed it by running command prompt as adminis...
Hope this helps some poor desperate soul.
I had the same issues but found these other solutions di...
First, my situation may be a little different to the OP ...
I found the same IOError was preceded by this earlier er...
ImportError: No system module 'pywintypes' (pywintypes27...
The solution that fixed both errors was to copy the DLL ...
pywintypes27.dll
pythoncom27.dll
sitting in: C:\<anaconda-dir>\Lib\site-packages\win32
to C:\<anaconda-dir>\Lib\site-packages\win32\lib
Where <anaconda-dir> will either be your root Anaconda d...
C:\Users\<username>\AppData\Local\Continuum\Anaconda\ by...
or an environment you have set up e.g.
C:\Users\<username>\AppData\Local\Continuum\Anaconda\env...
A came across this answer thanks to Tompa here, who foun...
** エラーの発行 raise [#ya1a635b]
[[→組み込み例外>http://docs.python.jp/2/library/exception...
# ファイルが存在しない場合は返却
if not os.path.exists(filepath):
# raise StandardError("File is not exist %s" ...
return
try:
# ファイルオープン
data = wave.open(filepath, 'rb')
except IOError:
raise StandardError("Cant file load %s" % (filepath))
else:
# 正常時の処理
finally:
pass
** 例外処理のよい例・悪い例 [#hc442a98]
まずは悪い例
def get_status(file):
if not os.path.exists(file):
print "file not found"
sys.exit(1)
return open(file).readline()
これだと、open(file)の際に出たエラーを捕まえていない。
よい例
def get_status(file):
try:
return open(file).readline()
except EnvironmentError as err:
print "Unable to open file: {}".format(err)
sys.exit(1)
** LookupError: unknown encoding: windows-31j [#r75276b1]
- Pycahrmの設定で、文字コード設定をUTF=8に変更する
** py2exe [#m8b6bf68]
[[→http://www.py2exe.org/>http://www.py2exe.org/]]
[[→py2exe Python スクリプトからスタンドアロンのWindowsプ...
[[→Py2exe 利用ノート>https://showa-yojyo.github.io/note/p...
[[→Pythonで単体で動くバイナリを作ろう!>http://python.mat...
どうもPySideを使っているとPyInstallerが上手くexe化してく...
- 日本語で読むならこちら
-- 非常に丁寧に説明がされており、概要をしるにはぴったり。
[[PYINSTALLERの遅さにがっかりしてPY2EXEにしたら爆速で驚い...
-- 公式のチュートリアル(英語)。まずはHelloworldをexe化す...
[[py2exe tutorial>http://www.py2exe.org/index.cgi/Tutoria...
** platformを調べる [#of715af6]
################# if PySide not installed inside houdini...
import platform
if platform.system() == 'Windows':
sp = 'C:/Python27/Lib/site-packages'
if not sp in sys.path:
# if os.path.exists(sp):
sys.path.insert(0, sp)
print sp
** OpenCV for Python [#a9fc4196]
- 参考資料
[[OpenCV Computer Vision with Python>http://www.amazon.co...
#ref(opencv.jpg)
** 初心者ミス [#l781acba]
Pythonをコーディングしている時に発生する初心者ミスをまと...
- def__init(self)
-- 正しくは、def __init__(self)。意外と良くやってしまう。
**型判定・型判別 [#l8b1bc1f]
- type か isinstanceを使う
-- if type(a):
-- if isinstance(a, int):
** PythonでC言語のDLLを呼び出す [#t66c4af7]
[[詳しくはこちら>https://gist.github.com/peace098beat/783...
*** ダミーのcファイル : dll.c [#p457d348]
void printdll(double * a_ary, int a_ary_length) {
int i;
for (i = 0; i < a_ary_length; i++) {
// printf("a_ary[%d] = %d\n", i, a_ary[i]);
a_ary[i] = a_ary[i]*a_ary[i];
}
}
*** dllの呼び出し確認用コード [#oba2387b]
#!coding: utf-8
# ***************************************************
#
# main.py
# dllの呼び出し確認用コード
#
# ***************************************************
from ctypes import *
# 標準dllの呼び出し(テスト)
# cdll.msvcrt.printf('Hello, world!\n')
# cdll.msvcrt.printf('double value: %f\n', c_double(3.14))
# 自作dllの呼び出し
userdll = windll.LoadLibrary('rcadll.dll')
# 定数
FRAME_SIZE = 1024
# 配列のオブジェクトを作成する
# C言語で言うならば、array_aype = (int*)malloc(sizeof(in...
ArrayType = c_double * FRAME_SIZE
stft_data = ArrayType()
ResultData = c_double * 5
res_data = ResultData()
# 作成した配列に値を入れる
for i, val in enumerate(stft_data):
stft_data[i] = i
# 自作のdllを呼び出す(値を2乗する関数)
# ポインタを渡している格好になる.
userdll.printdll(stft_data, FRAME_SIZE)
** PyCharm コードテンプレート [#z279d0be]
#! coding:utf-8
"""
${NAME}
Created by ${USER} (${DATE} ${TIME})
"""
def main():
pass
if __name__ == "__main__":
main()
** パスの取り扱い [#nd6582f6]
os.path.dirname(sys.argv[0])
os.path.normpath()
os.path.join()
os.path.exists()
path, ext = os.path.splitext(target_filepath)
basename = os.path.basename(path)
** csv writer [#p762241a]
os別のエンコード対策はこちら
https://gist.github.com/peace098beat/696e741f941801ed705e
def save(self, filename=None):
if filename is None:
filename = 'result.csv'
filename = os.path.normpath(filename)
with open(filename, 'wb') as f: #'wb'じゃないと...
writer = csv.writer(f, delimiter=',')
for i in range(len(self.wav_filepath_s)):
writer.writerow([self.wav_filepath_s[i]])
for i in range(len(self.wav_filepath_s)):
writer.writerow([os.path.basename(self.wa...
writer.writerow(['eval (1)', ])
for i in range(len(self.wav_filepath_s)):
writer.writerow(self.result_table[i])
csvが文字化けしたら。。(現時点では意味が分からない)
http://d.hatena.ne.jp/bonlife/20070831/1188564822
** エクスプローラを開く [#u12ee4fe]
import subprocess
cmd_dir = 'explorer "%s"' % (os.path.normpath(os....
subprocess.Popen(cmd_dir)
cmd_file = 'explorer /select, "%s"' % (os.path.no...
subprocess.Popen(cmd_file)
# 日本語Path対応
# OSを判定し、文字コードを取得
if os.name is 'nt':
code = 'cp932'
else:
code = 'utf-8'
# UNICODE文字列から、OSに合わせてエンコード:文字...
filename_ = filename.encode(code)
# エクスプローラをオープン
cmd_file = 'explorer /select, "%s"' % (os.path.no...
Popen(cmd_file)
** 辞書ソート [#h8206c4e]
# -- ソート結果の表示
sum_list = [sum(ary) for ary in result_ta...
name_list = [os.path.basename(path) for p...
summary = zip(name_list, sum_list)
summary = sorted(summary, key=itemgetter...
# summary = sorted(summary, key=lambda x:...
writer.writerows(summary)
** 文字化け対応(日本語Path) [#idca0fa1]
# OSを判定し、文字コードを取得
import os
if os.name is 'nt':
code = 'cp932'
else:
code = 'utf-8'
# 文字列(Unicode)をバイト列へエンコード
filename_ = filename.encode(code)
** PyAudioで音量を変える [#edc1a5e9]
PyEQが参考になる。
バイナリデータをPCMに変えて、
PCMをfloatに変換
ブースト処理をかけて
float->PCM->binaryに戻すとできる。
http://flamingoengine.googlecode.com/svn/trunk/backends/a...
https://mail.python.org/pipermail/tutor/2012-September/09...
まとめ
https://gist.github.com/peace098beat/e00e30e10cb6b8ff753c
** PythonでWindowsAPIを使う [#bbf17f86]
- PyHookモジュールが便利。ただ32bit版しかないのでこちらよ...
http://www.lfd.uci.edu/~gohlke/pythonlibs/
# ダウンロードする
pyHook-1.5.1-cp27-none-win_amd64.whl
# ダウンロードしたフォルダでShift+右クリック>コマンドプ...
pip install pyHook-1.5.1-cp27-none-win_amd64.whl
http://sourceforge.net/p/pyhook/wiki/PyHook_Tutorial/
import pythoncom, pyHook
def OnMouseEvent(event):
# called when mouse events are received
print 'MessageName:',event.MessageName
print 'Message:',event.Message
print 'Time:',event.Time
print 'Window:',event.Window
print 'WindowName:',event.WindowName
print 'Position:',event.Position
print 'Wheel:',event.Wheel
print 'Injected:',event.Injected
print '---'
# return True to pass the event to other handlers
return True
# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.MouseAll = OnMouseEvent
# set the hook
hm.HookMouse()
# wait forever
pythoncom.PumpMessages()
** タスクトレイアプリ [#p6b1b495]
http://moco.sakura.ne.jp/python/pyside-でタスクトレイアプ...
pythonでのWindowsサービスの書き方
http://masahito.hatenablog.com/entry/20110511/1305107553
** QThreadでストレスフルな生活を [#ea04b268]
http://melpystudio.blog82.fc2.com/blog-entry-125.html
** ファイル名をTimeStampにする [#oc770e02]
filename_base = datetime.datetime.now().strftime("%Y%m%d...
filename = os.path.abspath(os.path.join(DIRPATH_LOGFILE,...
** 文字コーーーーーード [#c2fb24e5]
UNICODE = String 文字!
それ以外は(例utf-8)はバイトコード!!
# 解析結果をstring(UNICODE)型へキャスト
print_str = str(token).decode('utf8')
# Unicode をバイトコードへエンコード
code = 'cp932' or 'utf-8'
out_word = words.encode(code)
** ネットワークリソースのダウンロード [#l645a19e]
# Network Resourse Download
import urllib
url = 'http://localhost/recome/(ed)REC_A01_14B330_Mic7.w...
path = 'download.wav'
urllib.urlretrieve(url, path)
** 累乗計算 [#y3af0fd6]
def ruijou(self, x):
from numpy import log2, floor
y0 = log2(x)
# 最小t
p = floor(y0)
return int(2 ** p)
ページ名: