Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

2018-01-01から1ヶ月間の記事一覧

Pythonで日付計算

Pythonで日付計算をする場合は標準ライブラリdatetimeをつかいます。 実際のところ 1/30から2/28までの差分をとる場合 import datetime datetime.date(2018,2,28) - datetime.date(2018,1,30) #>> datetime.timedelta(29) そのままだと型が違うので、コンバ…

List/Tupleからランダム個数の要素をとる

List/Tupleからランダム個数の要素をとる方法です。 実際のところ 標準ライブラリのrandomについている関数、choiceとchoicesを使います。 choiceは一個、choicesはkの値の個数分とってくれます。stringライブラリの定数を使って文字列を生成。 それを使って…

標準ライブラリstringに入っている定数ズが地味に便利

Python標準ライブラリstringに入っている定数ズが地味に便利です。 実際のところ 使ってみると、こんな感じ import string string.ascii_letters # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' string.ascii_lowercase 'abcdefghijklmnopqrstuv…

blender2.7系で下絵表示

モデリングする際、下絵があると無いとでは作業の楽さが違います。 という訳で、今回は下絵を表示する方法です。"N"を押下し、下の方に有る「下絵」をクリック こんなタブがでてくるので、画像を選択しましょう。 どの角度に表示させるか決めて平行投影して…

Youtube動画「しくじり企業シリーズ」が実際世知辛い

youtu.be youtu.be 粉飾・財テク、過剰投資と一応4期経営者やってる身にも色々効いてくるネタ多し。 こういうのは成功事例より失敗事例から学ぶ事が多いので、 本編でカバーされなかったネタは、ブログの方でフォローされています。 こちらもこちらで実に世…

Python3系で標準出力/出力をつかってみる

import sys sys.stdin #> <_io.TextIOWrapper name='<stdin>' mode='r' encoding='UTF-8'> sys.stdout #> <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'> 通常のファイルオブジェクトと同じような使い勝手なので、 単に一行毎に読みたいだけなら以下のような感じになります for line in sys.stdin: print line 参考もと sys — System-specific parameters and functio…</_io.textiowrapper></_io.textiowrapper>

【イベントログ】第一回資産運用EXPOに行ってきました

第一回資産運用EXPOに行ってきました。 www.am-expo.jp目的は悪い投資話に近寄らないための情報収集。 特に太陽電池は悪い話しか聞かないので、その周辺業界は確実に抑えていきたいところ。プロレタリア代表として搾取階級の姿を確認すべく敵地に舞い降りた(…

PurePath

This module offers classes representing filesystem paths with semantics appropriate for different operating systems. Path classes are divided between pure paths, which provide purely computational operations without I/O, and concrete paths…

Pythonでディレクトリ内ファイルを調べるあれこれ

単に名前が欲しいだけなら、listdirで直ぐでてきます。 os.listdir()scandir()とwalk()はオブジェクトをかえしてきます。 ちゃんと参照したい場合、for文でぶんまわしてやる必要があります。walk()はタプル型で(ディレクトリパス, ディレクトリ名, ファイル…

Pythonでディレクトリを作ったり消したり

実際のところ import os #ディレクトリ作成 os.mkdir("somedir") #ディレクトリ削除 os.rmdir("somedir") 再帰的にディレクトリを全部ぶっ飛ばす "os.removedirs(path)"という関数もあるそうですが……怖いですねコレは現在の位置を見たい場合は shuzo-kino.ha…

Blenderで等間隔なオブジェクト配置

Blenderで等間隔なオブジェクト配置をする方法です。 つかうとハシゴのようなものを作る際に役立ちます。 実際のところ こんなモデルがあっとします ここでオブジェクトプロファイヤーを開き 「配列複製」 設定してみます オフセット数値 その名の通り間隔を…

ClickをつかってPython製CLIツールをスマートにする その8:自前のバリデーション

selectやrangeを使えば大抵にバリデーションはできますが 自前のバリデーションも実行できます。 実際のところ 0以上、奇数という場合は以下のように import click def validate_count(ctx, param, value): if value < 0 or value % 2 != 0: raise click.Bad…

ClickをつかってPython製CLIツールをスマートにする その7:文字色をつける

Python用CLIツール作成ライブラリであるClickにも文字装飾の機能がついてます。nodeのcolorsや shuzo-kino.hateblo.jp Rubyのawesome_printみたいなもんですね shuzo-kino.hateblo.jp 実際のところ import click # 文字をつける click.echo(click.style('Hel…

ClickをつかってPython製CLIツールをスマートにする その6:画面の全消し

画面の全消しは"click.clear()"です。 Ctrl+Lと同じようにカーソルが一番上の行に行きます。 文字そのものが消えるわけではないので注意。 import click import time @click.command() def hello(): click.clear() click.echo("11") time.sleep(1) click.cle…

【イベントログ】第二回ロボデックスにいってきました

www.robodex.jp 1月17日〜19日に東京ビッグサイトから開催された、 第二回ロボデックスに行ってきました。 名前の通り、ロボット系の展示会です。 他にも、半導体や工場自動化、自動車系の展示会も併催されていました。 会場は東全部と西二階、一階の一…

ClickをつかってPython製CLIツールをスマートにする その5:gitのような子コマンドをもつもの

gitのように、ネスト構造をもつコマンドを作る方法です。 実際のところ コマンドのヘルプ文は長コメントで入れます import click #親コマンド @click.group() def cli(): pass #子コマンド。cli()という関数に紐づくので@cli以下に続ける @cli.command() def…

ClickをつかってPython製CLIツールをスマートにする その4:パスワード入力

shuzo-kino.hateblo.jp のシリーズ。 今回はパスワードの入力支援ですPythonにはデフォでgetpassという入力を不可視化するライブラリが入ってたりします shuzo-kino.hateblo.jp が、Clickの方がちょっとだけ高機能です。 実際のところ import click import c…

Blender始めました

オープンソースな3Dモデリングソフト、Blender始めました。 今話題のVtuber「バーチャルのじゃロリ狐娘youtuberおじさん」の諸々に感銘をうけ、僕もなんかやってみようと思った次第です。 pythonを使ってあれこれ出来るというのも、技術ネタ収集ターゲットと…

ClickをつかってPython製CLIツールをスマートにする その3:yes/no

shuzo-kino.hateblo.jp シリーズの3回目。 今回はCLIツールではよく見かけるyes/noの選択肢を表示するオプションのはなし。 実際のところ 何か文字列を表示し、yes/noを選択させるアプリを考えてみます。 import click def abort_if_false(ctx, param, valu…

ClickをつかってPython製CLIツールをスマートにする その2:バリデーションや選択

shuzo-kino.hateblo.jp の続きです。 import click @click.command() @click.option('--value', prompt='Your value', help='set your value', type=int ) def hello(value): click.echo('Value is %s!' % value) if __name__ == '__main__': hello() これの…

ClickをつかってPython製CLIツールをスマートにする その1:導入

実際のところ macOS 10.12.6(16G29) conda 4.3.29 Python 3.6.3 $ conda install click執筆時点ではclick 6.7が入ります動作試験をしてみましょう。 公式のサンプルをそのままコピペしてきます。 import click @click.command() @click.option('--count', …

Python3.6 + OpenCV3.1.1で加工範囲を限定してみる

Python3.6 + OpenCV3.1.1で加工範囲を限定してみます。 これで部分的にグレーにしたり、トラ模様にしたり一部分だけテンプレートマッチしたり……という事ができます。 実際のところ shuzo-kino.hateblo.jp import numpy as np import cv2 import sys def func…

Python3.6 + OpenCV3.1.1で対象物を円で囲ってみる

実際のところ 黒背景、対象物は白という状況を作った場合を想定します。 import numpy as np import cv2 import sys def function(target_file): #画像の読み込み img = cv2.imread(target_file) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #二値化によ…

Tuple型はDictionary型のKeyとしてつかえる

Tuple型はDictionary型のKeyとしてつかうことができます。 ……え、用途? 何らかの制約や高速化の際、クラスなしで関係する変数一個を紐付けできる……とかですかね??(小声 実際のところ 画面A、Bがあって、これの稼動状態をBoolenでもつようなDictionaly型…

リスト/タプル型の順番をひっくり返す

Pythonのデータ型であるリスト/タプル型の順番をひっくり返す方法です。 ちなみに、前者は変更可能、後者が変更不能と覚えておけば実用上問題はないみたいです。 実際のところ [1,2,3][::-1] #=>[3, 2, 1] (1,2,3)[::-1] #=>(3, 2, 1) というわけで、以下の…

【読書メモ】同人誌デザイン解説読本:初級編

POO松本さんによる、文章メイン同人誌のデザイン本です。 C92で完売していたものが、C93待望の(そして最初で最後らしい)増刷との事でゲットしてきました。私は評論島で活動しています。 InDesignを使ってはいるものの、どうもイモっぽいレイアウトになって…

Pythonで空クラスをつくる

単にデータを取りまとめるだけの、構造体のようなデータ列を持つクラスを作りたい場合 空クラスをを使ってあげれば動的に追加できます 構文上何かを書かないといけないので、"pass"をつかいます。 #初期値格納用クラス class DisplayInformation: pass di = …

Python3.6 + OpenCV3.1.1でビデオ顔追跡をやってみる

# -*- coding: utf-8 -*- """ OpenCV 3.1.1による顔追跡 """ import cv2 #初期値格納用クラス class DisplayInfomation: pass #第三引数はDisplayInformation def traceFace(cap, cascade, di): _, im = cap.read() #処理速度のためグレー化 gray = cv2.cvtC…

OpenCVの顔画像追跡サンプルで"Assertion failed (!empty()) in detectMultiScale,"とかいうエラーがでたら……学習ファイルの読み込みができていないかも

OpenCVの顔画像追跡サンプルをやってみようとした所、 以下のようなエラーが。 OpenCV Error: Assertion failed (!empty()) in detectMultiScale,...error: (-215) !empty() in function detectMultiScale 例のごとくstack overflowで調べると、学習ファイル…

Python3.6 + OpenCV3.1.1でテンプレートマッチング

実際のところ import cv2 as cv import numpy as np from matplotlib import pyplot as plt import sys def function(pattern_file, threshold_val,): img_rgb = cv.imread('sampleimg.png') img_gray = cv.cvtColor(img_rgb, cv.COLOR_BGR2GRAY) template =…