Pythonでは、ある一定の期間だけオブジェクトを使用したり、いろいろな設定を行って用事がすんだら元に戻したい、という処理を行うとき、with文を使用します。 たとえば、ファイルを読み込むときには、with 文を利用して、作成したファイルオブジェクトを自動的に開放するようにします。
今回は、文字列の中に記載されたメソッドや関数を Python から実行する方法です。 exec、eval、 literal_eval 、getattr あたりを使うことで実現可能なのですが、呼び出し側(文字列を関数として呼び出す側)と呼び出された側(文字列に記述した式)での値の受け渡しなどは、他のサイトではあまり触れられていないので、この記事ではその点を中心に解説したいと思います。 「文字列をプログラムとして実行する」とは そもそも「文字列をプログラムとして実行する」というのは、例えば文字列として "myfunc(100)" という文字列が与えられた場合、「 myfunc(100) を実行する」と解釈して、myfunc(100)を実行するという事になります。 プログラムと言っても実際には関数に限ったものではなく、文字列をPythonのプログラムと解釈させて実行することが可能です。 文字列を
本記事では、PythonのPySNMPライブラリを使用して、SNMPに対応したIP機器などに要求するSNMPコマンドの基本的な使い方について学んでいきます。 SNMPとは PySNMPのインストール Ciscoルータの設定 snmpwalkコマンド snmpgetコマンド snmpsetコマンド 最後に 参考書籍 SNMPとは SNMP(Simple Network Management Protocol)とは、IP機器(サーバやルータなど)を管理するために1988年に導入されたプロトコルです。 SNMPを用いることで、サーバなどのCPUの使用率や温度状態をポーリングしたり、またルータなどのインタフェースダウンなど異常が発生した際にトラップ(Trap)と呼ばれるものを管理者(Manager)に送信することで、障害検知を容易にすることができます。 SNMPはこれまでにSNMPv1、SNMPv
COLUMN 組み込みエンジニアの戸惑い PythonからC言語を呼び出してみる②(SWIGを使った場合) # Python # エンジニア # 組み込みエンジニアの戸惑いシリーズ Python編 # 言語 2019-11-07 FSI Embedded 組み込みソフトウェアエンジニアがPythonを始めてみました。そして、第6の戸惑い、前回に引き続き組み込みとは切っても切り離せない「C言語」に関しての話題です。Pythonを扱っていて課題となることもある処理速度の改善や、過去資産の流用など、そんなときに役立つかもしれない、PythonからC言語を呼び出す方法についてのご紹介です。 PythonからC言語、またはC++を呼び出す方法には様々なものがあり、前回の記事でご紹介したPython/C API (Python.h)や、今回ご紹介するSWIG、またboost.pythonなどがあります
プログラミングの学習を始めようとする人がする定番の質問がある。「どのプログラミング言語を選べばいいか」というものだ。 私はこのコラムで以前、JavaScriptからプログラミングを始めてはどうかと書いた。JavaScriptはWebブラウザーさえあれば動作するからだ。例えば「Chrome」であれば、F12キーを押して「Console」タブを選ぶだけで、JavaScriptの対話実行環境を利用できる。 関連記事: 保存していないクレジットカード情報が漏洩する謎、鍵はあのプログラミング言語 もっとも、JavaScriptは最初に学ぶ言語としては少し癖が強いとも感じている。どちらかというと、2番目か3番目に学ぶことで視野が広がるタイプの言語ではないだろうか。 私が初心者に勧めるとしたら候補は2つある。「Ruby」と「Python」だ。 私がRubyを勧める理由は、「プログラミングの楽しさ」を体験
Software Design連載開始 ※ (2021/09/02 08:55) 「Pythonを用いて開発を始めたのが2003年」を「Pythonを用いて開発を始めたのが2002年」に修正 こんにちは。金谷です。 このたび、モノタロウにおけるPython大規模開発に関する取り組みを、技術評論社様で発刊されている Software Design に連載させていただくことになりました。 モノタロウがPythonを用いて開発を始めたのが2002年。2021年の現在もPythonを用いた開発が続けられています。 事業の成長に伴い、関連するシステムやエンジニアの数も増え続けていくなかで、いかに安定的に価値を提供し続けられるのか。 モノタロウにおける取り組みを、開発や運用周りを通してご紹介していきます。 本記事の初出は、 Software Design2021年8月号「Pythonモダン化計画(第1
Windowsは長年の間、Pythonインタプリタを含まない唯一の主流のOSであることが知られてきた。しかし、Windows 10 May 2019 Updateではその状況も変化する。MicrosoftはPythonを使った配布物をMicrosoftストア上でリリースしやすくなるように変更したほか、Windows 10 May 2019 Updateではデフォルトで「python.exe」がインストールされるという。ただしこのpython.exeは実行するとMicrosoftストアのPythonページが表示されるというもので、実際にPythonを利用するにはMicrosoftストアからのダウンロードとインストールが必要となる。 Microsoftストアで提供されるPythonのバージョンは3.7で、これによってWindows 10に簡単にPythonをインストールできるようになり、またp
Red Hatの森若です。 今回はRHEL8でのPythonがどのようにパッケージされているかを見ていきます。 Red Hat Enterprise Linux 8には"python"コマンドがない!? Red Hat Enterprise Linux 8 はインストール直後のデフォルト状態では "python" コマンドが存在しません。(ほとんどの場合"python3"コマンドはあります。) pythonコマンドがない……!? RHELは各種のシステムツールがPythonで実装されており、RHELであれば "python"コマンドが利用できるという状況が続いてきました。RHEL 8では少し様子が違うようです。詳しくみていきましょう。 3つのPython処理系 RHEL 8 Betaでは、Pythonの処理系は3種類存在します。 platform-python: RHELに同梱の各種システ
はじめに 開発部の tasaki です。 6 月の記事(「Pythonのパッケージングのベストプラクティスについて考える2018」)では setuptools, pip, venv を使ったパッケージングのフローについて考えました。 techblog.asahi-net.co.jp 今回はモダンな開発用ツールチェーンを持つ他の言語(具体的には JavaScript (Node.js), Go, Rust あたりを意識)と似たような開発フローを Python において構築するにはどうすればよいかということを考えていきます。 はじめに 対象バージョン 備考 TL;DR (結論) pip と virtualenv の統合 (Pipenv) 概要 使い方 インストール Pipenv プロジェクトの新規作成 setup.py との併用 静的な型の検査 (mypy) 概要 設定例 使い方 Lintin
Pythonで並列処理・並行処理を提供する標準モジュールは数多くあり、初めてだと違いを理解するのは困難です。この記事では、それぞれの違いについて調べました。 threadモジュール(Python 2), _threadモジュール(Python 3) かつてPython 2にはthreadモジュールという複数のスレッドを扱うためのモジュールが存在していましたが、Python 3でdeprecated扱いになりました。一応_threadモジュールという名前で残っています。公式でも述べられているように、一般には、thread/_threadモジュールではなく、より高レベルなthreadingモジュールの使用が推奨されるようです。 threadingモジュール threadingモジュールは、先述の通り、複数のスレッドを扱うためのモジュールです。thread/_threadモジュールより高レベルと
10月20日に開催された「PyData.tokyo One-day Conference 2018」では、フリーランスのプログラマで、python.jpの管理人もしている石本敦夫氏がPythonやNumPyの歴史とPythonで並行処理を行う時のポイントを解説した。 python.jp管理人 石本敦夫氏 PyData.tokyo One-day Conference 2018 「NumPyの歴史とPythonの並行処理」講演資料 なぜ機械学習にはPythonなのか ~NumPyを核に形成された科学技術計算のエコシステム いま「機械学習」でググると「python」が関連キーワードとしてサジェストされるほど、AIや機械学習を扱うならPythonは定番の言語だ。2011年にIEEEが発行した雑誌には「科学技術計算においてPythonはデファクトスタンダード」と記述されている。 その理由を示すべく
オープンソースソフトウェアの開発においては、コミュニティメンバーからのコードのコントリビュートだけでなく、さまざまな立場の人々から「この機能がほしい」「この動作はバグではないか」といった意見が寄せられます。 有名なオープンソースプロジェクトであるほど、そうした多くの意見やコメントを受け止めつつ開発は進んでいくわけですが、そうした状況は一方でさまざまな気苦労を生むであろうことは容易に想像が付きます。 人気のあるプログラミング言語として知られるPythonの生みの親であるGuido van Rossum氏は2018年7月、Pythonを開発する過程で生ずるさまざまな意思決定の気苦労から離れたいとの理由で、Pythonにおける「優しい終身の独裁者」からの引退を発表しました。 ちょうど新バージョン「Ruby 2.6」が登場したばかりのRubyに対しても、米国の掲示板redditで「[whining
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く