import logging import threading import time logging.basicConfig(level=logging.DEBUG, format='%(threadName)s: %(message)s') def worker1(): # thread の名前を取得 logging.debug('start') time.sleep(5) logging.debug('end') def worker2(): logging.debug('start') time.sleep(5) logging.debug('end') if __name__ == '__main__': # スレッドに workder1 関数を渡す t1 = threading.Thread(target=worker1) t2 = threading.Thread(targe
The Python security team removed two trojanized Python libraries from PyPI (Python Package Index) that were caught stealing SSH and GPG keys from the projects of infected developers. The two libraries were created by the same developer and mimicked other more popular libraries -- using a technique called typosquatting to register similarly-looking names. The first is "python3-dateutil," which imit
[参照] Pythonプロフェッショナルプログラミング第2版 Requests:HTTP for Humans RESTとは RESTはソフトウェアアーキテクチャーのひとつ。 ソフトウェアの設計原則の集合。 「REST」「REST API」という単語は、「HTTP」上で動作するSOAPやRPCではないAPI」の意味で使われることが多い。 REST APIの特徴 HTTP上で動作する データはリソースと呼ばれる REST APIで使用可能なリソースは、一意なURLを持っている。 GET/POST/PUT/DELETEなどのHTTPメソッドはそれぞれ、取得/保存/上書き/削除などのリソースの操作と対応している。 JSONやXMLなどのフォーマットでデータを送受信する リクエストの成功や失敗などの処理結果はステータスコードで表す REST APIを使用するには、HTTPクライアントを利用する。
TL;DR Requests とは Python の 今風な HTTP ライブラリである. requests.get('URL') で GET リクエストができる. レスポンスに対して .text とすることで, レスポンスボディをテキスト形式で取得できる. Requests とは Python の HTTP ライブラリ. Python には urllib2 というライブラリがあるが, 公式サイトに Requests is an Apache2 Licensed HTTP library, written in Python, for human beings. という説明がある通り, 人類にとって読みやすくコーディングできる. 導入
機械学習Podcast「TWiML&AI」で先週取り上げられた可視化ライブラリ「Yellowbrick」が非常に便利だったので紹介します!ちなみにPodcastには作者の1人であるRebecca Bilbroさんが出演しているので興味持った方は是非聞いてみてください。 twimlai.com www.scikit-yb.org Yellowbrickとは 一言で言うと、機械学習に特化した可視化ライブラリです。実装的な面で言うと(こちらの方がわかりやすいかもしれません)、scikit-learnとmatplotlibをラップして、scikit-learnライクなAPIで使うことができるものです。 例えば相関行列のヒートマップをプロットしたい場合は次のように書くだけでグラフを作ることができます。 visualizer = Rank2D(features=features, algorithm=
Pythonでバイナリを扱う時のTipsです。 Pythonでバイナリを扱う方法は2つあります、structモジュールを使う方法とctypes.Structureクラスを使う方法です。 基本的にstructモジュールは数バイトのバイナリを扱いたい時、それ以上のバイト数やC/C++と連携したい時にctypes.Structureクラスを使います。 structモジュール 例としてPNGファイルのバイナリを読んでみます、PNGファイルは頭の8バイトはヘッダで決め打ちです。 9バイト目から18バイトのデータはIHDR領域(正確にはIHDRの一部)でイメージの縦横サイズとビット深度、カラーモードが格納されています。
はじめに 第六回目を迎える 技術書オンリーイベント 「技術書典6」にて『う38』のサークルbitnosにて「PythonとColabでできる-ゼロから作るRAW現像」(以下「ゼロから作るRAW現像」)を配布します。 技術書典について 公式ウェブページによる紹介は以下の通りです。 新しい技術に出会えるお祭りです。 技術書典は、いろんな技術の普及を手伝いたいとの想いではじまりました。 技術書を中心として出展者はノウハウを詰め込み、来場者はこの場にしかないおもしろい技術書をさがし求める、技術に関わる人のための場として『技術書典』を開催します。 日時: 2019/04/14 (日) 11:00〜17:00 (一般参加は11時~13時のみ有料) 開催場所: 池袋サンシャインシティ2F 展示ホールD(文化会館ビル2F) 配布情報 ブース: う38「bitnos」 書名:「PythonとColabででき
最近lambda式にハマってしまい何でもかんでもlambda式で書こうとしています。 「なんでもかんでもlambda式で書いてやるぜ!」というのはちょっとアレですが、lambda式は使ってみると割と便利なので、lambda式のちょっとしたメリットについて少し取り上げてみます。 そもそもlambdaとはなんぞや。 lambdaとは無名関数を表現する記法の一つです。 無名関数とは名前の通り、名前の付いて無い関数のことです。 pythonだったらa,bを引数として受け取り、その和を返す関数を def func(a, b): return a+b ・・・と、funcと名前を付けて記述しますね。 これに対し、lmabda式を使って、引数a,bを受け取りその和を返す関数を記述すると lambda a, b : a + b となります。 lambda式を知らないと「なんじゃこりゃ?」となるので(ぼくがな
importの対象となるディレクトリのパスの確認・追加については以下の記事を参照。 関連記事: Pythonでimportの対象ディレクトリのパスを確認・追加(sys.pathなど) また、自作のライブラリをインポートする際に相対パスで上位ディレクトリ・サブディレクトリを指定したい場合は以下の記事を参照。 関連記事: Pythonの相対インポートで上位ディレクトリ・サブディレクトリを指定 モジュールとパッケージとライブラリ モジュール Pythonでは関数やクラスなどを定義したファイルをモジュールという。 6. モジュール — Python 3.11.3 ドキュメント パッケージ モジュールと__init__.pyを含むディレクトリをパッケージ(Regular packages)という。__init__.pyには初期化コードを記述する。空のファイルでもよい。 Python3.3以降では、_
threading — Thread-based parallelism¶ Source code: Lib/threading.py This module constructs higher-level threading interfaces on top of the lower level _thread module. Availability: not WASI. This module does not work or is not available on WebAssembly. See WebAssembly platforms for more information. Introduction¶ The threading module provides a way to run multiple threads (smaller units of a proce
Pythonで同時に2つ以上の処理をする方法を紹介します スレッド スレッドプール プロセスプール イベントループ(コルーチン) スレッド (threading) スレッドを使えば、複数の関数を同時に動かすことができます。 threading.Thread クラスに target として関数を渡し、start() で開始すると動きます。 import time import threading def func1(): while True: print("func1") time.sleep(1) def func2(): while True: print("func2") time.sleep(1) if __name__ == "__main__": thread_1 = threading.Thread(target=func1) thread_2 = threading.Thr
はじめに Pythonのthreading.Eventを使っているサンプルはないかとググっていたら上位に間違った使い方をしているものが出てきました。 Qiitaでthreading.Eventを使った投稿でも3件全てが間違った使い方をしているという悲惨な状況たったので、正しい使い方を説明します。 threading.Eventとは イベントが発生するまでスレッドを待機させ、他のスレッドからイベントを発生させると待機スレッドが再開する、という使い方をする為のクラスです。 最も重要なメソッドは以下の2つです。 wait() イベントが発生するかタイムアウトになるまで現在のスレッドを待機させる。 set() イベントを発生させ、待機スレッドを再開させる。 他にもclear()とis_set()があります。 詳細はPythonドキュメントを参照してください。 正しい使い方 まずは正しい使い方を見て
python でコマンドを実行するには subprocess モジュールを使う 以前にも書いたんだけど、気になったので、再度調べ直した。 os.popen があるじゃないと思われるかもしれないが、os.popen は内部的に subprocess (shell=True)を使ってるので同じことである。 後述するが、シェルインジェクションも考慮すると、shell=Falseにするべきなので、考えなしのos.popen利用は避けよう。 suprocessでコマンドを実行する 単純にコマンドを実行するには、subprocess.call を使うのが楽ですね バッククォート ` やos.system のかわりに subprocess .call() を使うようです。 import subprocess cmd = "sleep 30" proc = subprocess.call( cmd , s
画像処理100本ノックとは 以下のような素晴らしい記事を発見しました。 https://qiita.com/yoyoyo_/items/2ef53f47f87dcf5d1e14 (リンク切れ) 画像処理を、OpenCV等の高度なライブラリを使わず行うことで、画像処理の理解を深める、非常に有用な練習問題集です。自分も画像処理の基礎を学びなおしたかったので、自己学習のため活用させていただくことにしました。 ただ、初学者にとってハードルになりそうなのが、環境構築のところです。GitHubのREADMEに丁寧に描かれているのですが、初学者にとっては難易度高く、時間もかかります。また、自宅以外の環境でちょっと学習したいときなどにも不便です。 そんな手間を解消するために、Googleが提供している環境構築不要・無料でPythonの開発が可能なWebサービス「Google Colaboratory」を使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く