IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
Python のコマンドラインパーサといえば、標準ライブラリに組み込まれている argparse が基本。 蛇足になるけど、バージョン 2.7 以前で使われていた optparse は将来的に廃止予定なので新たに使うことは避けた方が良い。 そして、今回紹介する Python のサードパーティ製コマンドラインパーサ Click は、既存のパッケージと比較すると最小限のコードで美しくコマンドラインインターフェースを実装できるように作られている。 どれくらい楽になるかといえば、もう argparse を使っている場合じゃないな、と思えるレベル。 Welcome to Click — Click Documentation (8.0.x) もくじ もくじ Click をインストールする 基本的な使い方 コマンドを定義する オプションを追加する 引数を追加する サブコマンドを作る オプションについて
こんにちは、@yoheiMuneです。 Webサービスではなく、コマンドラインベースなどのアプリケーション(=Installed Application)でGoogle APIをOAuth経由で利用する場合に、OAuth認証を行う方法をブログに書きたいと思います。 目次 Google APIをOAuth認証で利用する場合のパターン Google APIは幾つかの認証形式で利用することができますが、その中でOAuth認証を用いた方法で利用することが可能です。OAuth認証を用いることで、各ユーザーのアカウント権限でAPIを利用できるようになります。OAuthについての詳細は以下をご覧ください。 OAuth 2.0 | API Client Library for Python | Google Developers そして、APIをOAuth経由で利用する場合に、アプリケーションの形態(以下
aws lambdaでは、CPUの使用時間に対し100ミリ秒単位で課金されるため、処理を高速化できるとその分料金も下がります。今回は簡単にLambda(Python)を高速化する方法を紹介します。 方法 処理系をJITコンパイル機能を持つPyPyに変更します。 これだけです。特にソースを見なおすとかではないので手軽に試せます。 PyPyとは PyPy(パイパイ)は、プログラミング言語Pythonの実装の1つであり、Pythonで記述されたPythonの処理系であることが特徴の1つである(セルフホスティング)。PyPyは、実行速度と効率、およびオリジナルのPython実装であるCPythonとの互換性に重点を置いている。 PyPy - Wikipedia 環境構成 OS:Amazon Linux PyPy:5.1.1 x86_64: PyPyのインストール 公式サイトではredhat系のバイ
概要 結構 Python の「__new__」や「__init__」をコンストラクタと記述する人がいるが、厳密にはコンストラクタではない。 コンストラクタの定義 コンストラクタの定義は「Constructor (object-oriented programming) - Wikipedia, the free encyclopedia」や「コンストラクタ - Wikipedia」を見るのが良いかもしれない。 コンストラクタの定義は、厳密には以下だと思われる。 オブジェクトを生成する またオブジェクトの生成とは以下を示す。 allocation(メモリ割り当て) initialization(初期化) 「コンストラクタ」はオブジェクト生成のために呼ばれる物の事を指すので、全ての最初に呼ばれる物を指す。 「__new__」と「__init__」がコンストラクタでないことの証明 以下は「__
この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、Python版OpenCV、Python 2.7 ^(1) 、iPy
Python の内包表記についてまとめました。 内包表記とは? 内包表記とは、リストや辞書などの iterable オブジェクト( for ループで回せるオブジェクト)のループ処理をかんたん・シンプルに記述できる記法です。 たとえば、 1 から 5 までの数値を 2 乗した値を持つリストを作りたい場合は次のような式を書くことができます。 通常の for ループと同じ for element in collection というブロックを書いて、その前に各要素の値を書いて、 [] で囲みます。この書き方が「内包表記」です。 ちなみに、「内包」は英語では「 comprehension 」と言います。また、「内包」の逆の概念は「外延」( extension )と言うそうです。内包と外延は数学の集合論における表現方法のようです。 このあたりの概念について詳しくは Wikipedia などが参考になり
「新人や同僚の教育に苦労」の話は何度かしてるけどね。 「数学」「Python (あるいはほかの何か)」「学習」=「ねばならぬこと」、という「強迫観念」が成長の妨げになってる同僚や新人は、それこそ何十人とみてきた。これは学校のような教育現場でも一緒だろうと思う。 年齢が高くなるにつれ「馬鹿に思われたくない」ための言い訳ばかりが達者になってくる「大人」も多くて、なかには(よっぽど言われ続けて悔しいのであろう)丁寧に説明を始めると烈火のごとく怒りを爆発させる「自称エンジニア」もいた。どんな頭の構造してるんだろうか。「彼」はほとんどパブロフの犬的に「バカにされてる」と感じさせる要素が一ビットでもあると「ワタシが何をしたんですか!」と怒りのスイッチを入れてた。なんでそーなる。 よく言われることだけれども、「学習」はもとはといえば、「ほとんどはやらなくてもいい遊び」である。けれどもそれには多くは「一般
Pythonをやっていて、with構文って何だろ?となって、理解できたので整理してみます。細かいところが違うかもしれませんが、動きはつかめるかなと思います。 Python3.3で動作確認しています。 with構文とは with構文は、ある機能の利用者が、より安全、簡潔にその機能を使えるようにする構文です。既知の定形終了処理であれば、機能作成側でそれをあらかじめ定義し、利用者はwith構文を使うだけで、安全に機能を使うことが出来ます。 with構文を使っていないファイル書き込み例 wfp = open('msg.log', 'w') wfp.write('need call close, if do not use with statement.') wfp.close() with構文を使ったファイル書き込み例 with open('msg.log', 'w') as wfp: wfp.w
とりあえず自分用にメモ。 間違ってるところもあるかも。 import mechanize br = mechanize.Browser() で、ブラウザ開く感じ br.open( url ) でurlを開くんだけど、この時robot.txtがある(?)と、開けないので、ブラウザ作ったらbr.set_handle_robots( False ) しておくと開けるようになる。 br.links() で、開いてるページのリンクをgeneratorで渡される。 引数は任意で、"url_regex"とか"text_regex"とかが在って、正規表現渡してやると、一致したリンクが貰える。 links += [x for x in br.links( url_regex = 'hogehoge' )] br.open( links[0] ) とかで移動できる。 br.follow_link( text_
俺が普段使っているSNSの一つに ファンタジーアースSNS というのがあって、これは同名のゲーム(要約すると50人1チームで戦争するゲームです)と連動して戦争の成績が見れたり各国毎の統計が見れたりとなかなか便利な仕組みになってます。 ただ、各戦争毎に表示される個人成績や召還数といった値は各戦争結果ページでしか得られず、ゲーム内で参照できる戦績表示では今まで行った全ての戦争に対して行われる為、直近10件の戦争が見たいなどという場合には手で計算するとかしないといけなくて大変不便です。 というわけで SNS をスクレイピングして各値を拾って表示するスクリプトを組みました。全戦争読み込んだり平均値出したりとかは全然作りこんでないのでその辺は勝手に改良すると良いです。もっともこのSNSは大変重いのでスクリプトを実行する場合はアクセスの間隔あけるとかしてサーバに負荷が掛からない様に御願いします。 必要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く