タグ

pythonとPythonに関するtar0_tのブックマーク (92)

  • Flask で Restful API を作る - jsonify で日本語が文字化けする時の解決方法 - datalove’s diary

    最近ちょいちょい見かけることが増えてきた Python のフレームワーク Flask 。 軽量でシンプルなところが魅力となっていると思うのだが、業務で Flask を使って Restful API を開発する機会があり、jsonify を使って出力を JSON にしたところ、日語の文字化け問題に遭遇したので、解決方法をメモしておく。 Flask を用いて JSON 出力する API を作る Flask を用いて JSON で結果を出力する API のコードはこんな感じ。リスト tasks がデータベースの代わりということで。 gist.github.com jsonify というメソッドがミソで、これが出力結果を JSON に変換するとともに、Content-Type もちゃんと application/json に設定して Response を返してくれる。 datalove.hate

  • PythonでExponential Backoffをしたかったのでretryingモジュールを調べてみた | DevelopersIO

    はじめに こんにちは植木和樹@上越妙高オフィスです。Lambda(Python)を使って様々なAPIを結びつけた処理を書いてます。 APIの呼び出しは一時的にエラーを返す場合があります。時間をあけて再試行すると成功することもあるので、適切なリトライ処理を検討しています。 Pythonで使えるモジュールはないかと探していたところ retrying を見つけました。 retrying 1.3.3 : Python Package Index retrying を使うと以下のようなことができます。 リトライ回数の設定 リトライ間隔の設定 例外や結果に応じたリトライするかどうかの設定 簡単に導入でき機能も十分のようだったので、いろいろ試してみました。 環境 python 2.7.14 retrying 1.3.3 パラメーター一覧 retrying の使い方はリトライさせたい関数に対して @ret

    PythonでExponential Backoffをしたかったのでretryingモジュールを調べてみた | DevelopersIO
  • Recognizing digits with OpenCV and Python - PyImageSearch

    Today’s tutorial is inspired by a post I saw a few weeks back on /r/computervision asking how to recognize digits in an image containing a thermostat identical to the one at the top of this post. As Reddit users were quick to point out, utilizing computer vision to recognize digits on a thermostat tends to overcomplicate the problem — a simple data logging thermometer would give much more reliable

    Recognizing digits with OpenCV and Python - PyImageSearch
  • ラズパイ4でデジタル時計の「秒」を画像解析する(Python+OpenCV) | KatsEye

    「秒」の画像解析状況 先回の投稿「ラズパイ4で数字を画像認識する(OPEN CV テンプレートマッチング) 」と考え方は同じです。OpenCVのテンプレートマッチング機能を利用して、デジタル目覚し時計の「秒」部を文字列変換するプログラムを作成してみました。 文字列変換状況の動画を掲載します。 結果の動画内容は良好と思っています。2文字しか変換していないこともありますが、「秒」の変化に追従しています。 但し、デジタル時計はもともと薄暗い背景に黒い文字なので、2値化の閾値設定や照明の当て方に少し工夫が必要でした。普通の卓上照明を使いましたが、照らし方によって影が入るなど、単純に明るくすれば良い訳ではないことを理解しました。また、エクセルシートの数字と異なり文字間隔や外枠との隙間が小さいので、検索領域設定や一部の外枠を消去するなどの処理を変更しました。約1時間程度の試行錯誤を経て、動画の様な

  • 自動化のための「トリガー」について考える - ほんじゃーねっと

    何かしらの作業を自動化する際、 その作業を起動する「きっかけ(イベント)」を何にするかを考える必要がある。 例えば定期的に実行するなら、「曜日」や「時間」がきっかけになるし、 自分が実行したい時に実行するなら(それを自動化と呼ぶかどうかはさておき) 「手動実行」がきっかけになる。 この「きっかけ」をうまく設定できるかどうかで、 期待通りのタイミングで作業が行われるかどうか、 無駄な負荷を避けられるかどうかが決まるので、 作業の自動化において結構重要な要素となる。 プログラムの自動化に必要な「トリガー」 あるプログラムを何らかのきっかけによって 自動的に実行されるようにしたい場合、 何らかの対象の変化(きっかけ)を察知する きっかけに応じてあらかじめ決められたプログラムを起動する プログラムの処理が実行される の3段階の処理が必要となる。 上記のうち、1と2が自動化にとって重要な「トリガー」

    自動化のための「トリガー」について考える - ほんじゃーねっと
  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
  • PythonでParamikoによるファイル転送【No!SCP】

    Python SCP」 「Python SCP ファイル転送」 このキーワードで検索していませんか? ファイル転送を行いたい場合、通常はSCPを思い浮かべますよね。 でも、ファイル転送にはSCPである必要はありません。 SFTP(Secure FTP)でもファイル転送が可能です。 なお、SFTPはほとんどのサーバーで対応しています。 この記事では、PythonでのSFTPによるファイル転送を説明します。 Pythonでファイル転送を行う場合には、Paramikoライブラリが必要です。 記事の内容 Paramikoライブラリのインストール   【動作検証】サーバーにアクセスする 【動作検証】ローカルPCからリモートサーバーへファイル転送(アップロード) 【動作検証】リモートサーバーからローカルPCへファイル転送(ダウンロード) Paramikoをインストール・利用してみての感想 上記の項

    PythonでParamikoによるファイル転送【No!SCP】
  • Python- 一定間隔ごとのプログラムの実行

    今回、一定間隔ごと(10秒ごと、1分ごと)にプログラムを実行するコードを書こうとしてかなり悪戦苦闘したので、それをブログ記事にしようと思います。もともと作ろうとしていたのは、複数の仮想通貨取引所のAPIから仮想通貨の売買価格をとって、それをJSONなり、DBなりに保存しようとするものです。timeモジュールのtime.sleep関数を使えば楽じゃないかと思いますが、これを使うと「プログラミング時間+スリープ時間(time.sleep関数で指定した時間)」で実行されていくため、厳密な間隔での実行になりきらないという問題点があります。この問題を解決するのに、意外に時間がかかったというところです。で、この問題の解法として、今回threadingモジュールを利用しました。コードは以下になります。 import time, threading def timekeep(): #インターバル用関数 t

    Python- 一定間隔ごとのプログラムの実行
  • Pythonで一定間隔で処理をさせる - 鳥の巣箱

    pythonで、例えばある関数を1秒間隔で実行したい時、初心者が一番最初に思いつく方法として def task(): # 何らかの処理 def main(): while True: task() time.sleep(1) といった書き方がある。 この書き方でも”およそ1秒毎”には処理してくれる。 だが、task()の処理時間などにこの間隔は大きく依存してくる。 time.sleep(1)はOSのスケジューラーの精度にもよるけど、ほぼ1秒sleepしてくれるがtask()の実行時間などが考慮されてないわけで。 仮にtask()の実行時間に0.1秒かかるのであれば1.1秒の周期で実行されていることになる。 また、task()の内容が条件によって分岐したりする場合、処理時間が必ず一定ではない場合もある。 そうするともはや一定周期で動作しているとは言えないよね。っていう話です。 システムコール

    Pythonで一定間隔で処理をさせる - 鳥の巣箱
  • Python3で一定間隔で処理を行う - Qiita

    「一定間隔で」処理をしたいときにどうしたらいいのかちょっと迷ったのでメモ。 センサの読み出しとか、だいたい1秒間隔で呼び出せてればいい場合は、以下のような感じで書かれてることが多い気がする。 import time def task(): print(time.time()) while True: task() time.sleep(1) ただこれだと、 実行間隔 = task()の実行時間 + time.sleep()の呼び出しにかかる時間 + 1秒 になってしまう。 これだと精度云々の前に「一定間隔」ではない。 ロボットの制御とか音ゲー的なもので、正確に(と言ってもtimer.sleep()の精度と同じくOSのスケジューラの精度以上にはならないのだが)に100msec間隔で関数を呼び出したい。どうしたらいいのか。 システムコールとシグナルを使って、OSに一定間隔で呼び出してもらうこと

    Python3で一定間隔で処理を行う - Qiita
  • Linux+pythonで周期処理を組む(OS時刻の秒の変わり目に同期させる) - ローリングコンバットピッチなう!

    pythonで周期処理 以前、以下のようなエントリーを書きました。 rc30-popo.hatenablog.com pythonでも同様に定周期で何かを実行したい場合があります。 time.sleep()では毎回の処理の時間分だけどんどんタイミングがずれていくので定期的な割り込みを利用します。 ざっくりとは以下の様なイメージ。 import signal,time # インターバルタイマーハンドラー def intervalHandler(signum,frame): """定期的に実行したい処理を書く""" # インターバル起床するハンドラを設定(SIGALRMハンドラー) signal.signal(signal.SIGALRM,intervalHandler) # インターバルタイマー設定 # 最初の開始タイミング1秒後、以後1秒間隔 signal.setitimer(signal

    Linux+pythonで周期処理を組む(OS時刻の秒の変わり目に同期させる) - ローリングコンバットピッチなう!
  • Pythonを使って固定視点画像からデジタル数字を抽出する

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 測定中の装置の様子をウェブカメラなどを使ってリモートで監視しているときに、せっかく監視してるんだからくディスプレイに表示されている数字くらい記録しておきたいと思うことがあります1。これを実現する最も簡単な方法は一定時間ごとの画像取得です。しかし、残された大量の画像から異常や特定期間の様子を探し出すのは少し骨が折れます。「うまいこと数字を抽出してログデータにできたらな…」と一度くらいは思ったことのある方が多いのではないでしょうか。固定視点の画像からたった10種類の数字を判別するだけです。数字の位置を定義して0-9までの雛形のどれ

    Pythonを使って固定視点画像からデジタル数字を抽出する
  • Welcome to pymcprotocol’s documentation! — pymcprotocol '0.3.0' documentation

  • MELSEC MCプロトコル

  • Raspberry Piで最強の防犯カメラを作ってみる(動画記録・配信、動体検知・Line通知、顔検知・顔認証、Alexa搭載)[2/6]

    やりたいこと(再掲) 最終的にやりたいことは、以下の5つの機能を持つ「最強の防犯カメラ」を作ることです。機能①〜機能③は、市販されている多くの防犯カメラでも持っている機能ですが、機能④や機能⑤の顔認証機能を持つ監視カメラはまだ多くないと思います。 機能①.動画を24時間撮影し、カメラ体に動画で記録する 機能②.動画をWebブラウザや他の機器から参照できるようにライブ配信する 機能③.動体を検知したら、静止画をLineに通知する 機能④.家族の顔を認証したら、静止画をLineに通知する 機能⑤.家族の顔を認証したら、◯◯さんおかえり!!と喋る 家に帰ると、顔を見て「○○さん、おかえり!!」と言ってくれる辺りが、スマートハウスに一歩づ近づいている気がします。 実現に向けた連載 最強の「防犯カメラ」を作成するために、以下のように少しずつに記事を書いていきます(予定)。 1回目:カメラの設定と動

    Raspberry Piで最強の防犯カメラを作ってみる(動画記録・配信、動体検知・Line通知、顔検知・顔認証、Alexa搭載)[2/6]
  • 【Flask】Docker-Composeを用いてFlask × nginx × uwsgi環境を構築してみた - ganganの技術備忘録

    はじめに こんにちは、がんがんです。 現在、実験のデモとしてFlaskとRaspberry Piを用いたデモを作成しております。 開発の環境は主にWindowsで作成しているものの、実際に動作させるのはラズパイ環境を想定しています。 ですので、スムーズに環境を移行できるようにDocker Composeを用いてFlaskアプリの環境構築をやってみようと思いました。 目次 はじめに 目次 目的 参考 環境 ファイル構成 docker-compose.ymlのセットアップ nginxのセットアップ uwsgi・Flaskのセットアップ プロジェクトの構築および実行 参考までに(Docker Hubでの検索) おわりに 目的 Docker Composeを用いてFlask × nginx × uwsgiの環境を構築 Githubはこちらです。 github.com 参考 主に下記を参考にしました

    【Flask】Docker-Composeを用いてFlask × nginx × uwsgi環境を構築してみた - ganganの技術備忘録
  • ラズパイPythonと三菱PLCをネットワーク経由で連携させる方法

    pymcprotocolのインストール PythonでMCプロトコルを扱うためのライブラリをインストールします。LXTerminalをひらいて次のコマンドを実行してください。 pip install pymcprotocol インストールは以上です。ドキュメントはこちら。 Welcome to pymcprotocol's documentation! - pymcprotocol '0.3.0' documentation LXTerminalPythonを立ち上げてimportすることで動作確認できます。 python3 import pymcprotocol import後にエラーがなければインストールに問題はありません。 M1、M2はただのモニタ用です。編集が終わったらPLCに書き込んでRUNになっているか確認してください。MCプロトコルでの通信確認が目的ですので、ラダーは正直な

    ラズパイPythonと三菱PLCをネットワーク経由で連携させる方法
  • Flaskでmultipart/form-dataのファイルアップロードを実現する方法 - Qiita

    1. はじめに 今回はflaskでmultipart/form-dataによるファイルアップロードの方法について説明したいと思います。わざわざmultipart/form-dataと書いているのはRest API(json形式)におけるファイルアップロードという選択肢もあるからです。こちらについては次回説明する予定です。 なお、クライアント側については「Pythonrequestsを利用してmultipart/form-dataのFormにファイルアップロードする方法」を参照ください。 2. ソースコード # -*- coding: utf-8 -*- from flask import Flask, request, make_response, jsonify import os import werkzeug from datetime import datetime # flas

    Flaskでmultipart/form-dataのファイルアップロードを実現する方法 - Qiita
  • openpyxl による Excelファイル操作方法のまとめ - ガンマソフト

    Pythonでは、外部ライブラリのopenpyxlを利用すると、Excelファイル(*.xlsx)の読み書きやシート操作がきます。今回はプログラミング中に使い方をすぐ調べられるように簡単なコードだけでシンプルにまとめてみました。ぜひ日頃のプログラミングにご活用ください! 記事の目次 openpyxlのインストール方法 Excelファイル(ワークブック) Excelファイルの読み込み Excelファイルの新規作成 Excelファイルの保存 ワークシート シートの取得 シート名の確認・変更 シートの追加 シートのコピー シートの削除 セル セルの取得 1つのセル 複数のセル:範囲指定 複数のセル:行指定 セルのアドレスの確認 セルの値の読み書き セルの書式設定 繰り返し処理 1シートずつ繰り返す 1行ずつ繰り返す 1行目から1行ずつ 範囲を指定して1行ずつ 応用例 openpyxlのインスト

    openpyxl による Excelファイル操作方法のまとめ - ガンマソフト
  • 【NANって何だ?】意味・pythonでの使い方を解説します! | 侍エンジニアブログ

    こんにちは!ライターの遠藤です。 突然ですが、”NaN”ってご存知でしょうか? この記事では、 「NaNって何?」 「PythonでNaNの判定の仕方がわからない」 という方に向けて、 【基礎】NaNとは? 【応用】PythonにおけるNaNの判定方法 について簡潔にまとめました。 この記事を読めばNaNの意味と性質、判定方法が分かります。 ぜひ最後までお付き合いください! 記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。 → Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説 なお、その他のPythonの記事についてはこちらにまとめています。 NaNとは? まずはじめにNaNの意味とは、「Not a Number」の略です。 つまり、非数ですね。 読み方はシンプルに、「ナン」です。 Noneと似ているの

    【NANって何だ?】意味・pythonでの使い方を解説します! | 侍エンジニアブログ