サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
会話術
srbrnote.work
高速なSSDに大きな仮想メモリを設定したら、意外と実用的な速度が出て、物理メモリの代わりになりました。 その時のお話です。 仮想メモリとは、『ページファイル』とか『ページングファイル』とか呼ばれている、あのメモリです。 自作のプログラムを動かすために、巨大なメモリが必要になったので、試しに使ってみました。 結論から言いますと、『物理メモリ48GB』と『仮想メモリ112GB(SSD)』で確保した『合計160GBのメモリ』は、実用的に使えました。 もし、たくさんのメモリが必要で、『物理メモリの代わりにSSDの仮想メモリが使えないか?』と思ったなら、試す価値はあると思いました。 たしかに、仮想メモリが支配的になるほど遅くなりました。ですが、HDDの仮想メモリよりはずっとマシでした。 実用的に使える範囲には限界もありましたが、手持ちのSSDに仮想メモリを割り当てるだけなので、コスパは最強でした。
Python マニュアルの場所コード例で使用した Python 機能のマニュアルです。 (Python) class pathlib.Path(*pathsegments)(Python) platform.python_version()(Python) 特別な名前である :memory: を使うと RAM 上にデータベースを作ることもできます。(Python) sqlite3.sqlite_version(Python) sqlite3.connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements, uri])(Python) sqlite3.Connection.cursor(factory=Cursor)(Python) sqlite3
HTML から『本文だけ』をキレイにスクレイピングする簡単な Python コード例を書きました。 ※ 通常のテキスト取得方法はこちらに書きました。 【Python】HTML からテキストを抽出するコード例【lxml.html】 種々雑多しゅじゅざったな HTML から、本文だけをねらって抽出する、汎用的はんようてきなコード例です。 for 文と while 文を使用して、『見出しタグと同じ階層にあるタグ』を取得していくアプローチになります。 『見出しタグ』と『見出しタグに属するテキスト』を対応づけて抽出していきます。 このアプローチで本文抽出を行った結果、本文以外のノイズを含まない、キレイなテキストを取得することができました。 サイドバーやフッターなど、本文とは関係ないテキストを、キレイに除去することができました。 本文に『見出しタグ (h1-h6)』を使用している普通の HTML であ
ログ出力のフォーマッター logging.Formatter(fmt) で指定可能な、10種類以上のフォーマットの出力例です。 『どのようなログ表示が出来るのか?』を確認したくて、コードを書いて試しました。 フォーマットの種類は、Python マニュアルの『LogRecord 属性』に載っていたものを試しました。 (Python) LogRecord 属性(ログレコード属性) 日付、時刻、関数名などのほかに、行番号やプロセス ID まで、自動でログに付加することができました。 それらの出力例(実行結果)を紹介します。 実行環境『app_main.py』という Python ファイルを、以下の場所で実行しました。 F:\apps\data>python "F:\apps\data\app_main.py"OS は Windows 10 (64 bit) で、Python は 3.8.6 (6
組み込み例外UnicodeDecodeError(ユニコード デコード エラー) や ValueError(バリュー エラー) といった、『組み込み例外』をキャッチした時のエラーメッセージ取得例です。 (Python) 組み込み例外 (UnicodeDecodeError, ValueError など) 『エラーメッセージ全体』を取得Python マニュアルによると、例外が発生したときに画面にたくさん表示された『エラーメッセージ全体』は、『スタックトレース』と呼ばれるもののようでした。 これらの文字列は、標準の traceback(トレースバック) モジュールで取得することができました。 フォーマット エクセ traceback.format_exc() を使用します。 (Python) traceback.format_exc(limit=None, chain=True) Unicod
(2022年12月12日追記) Arelle が公式に Python ライブラリをリリースしたとのことです。 「arelle-release」という名前のライブラリでした。 pip コマンドでインストールできるようです。 (pypi.org) arelle-release PyPI (インストール方法)(arelle.org) Arelle released on PyPI! (公式のブログ記事)なので、まずは上記ライブラリの使用を検討してみるのが良いと思います。(追記終わり) 以下はもう古い内容になるかもしれませんが、一応残しておきます。 XBRL からデータを取得して決算分析をするときは、Arelleアレル という Python モジュールが便利でした。 公式サイト (Arelle) の説明を読んだところ、Arelle とは、『XBRL ファイルの正しさをチェックするためのソフト(検証
WinMerge(ウィンマージ) を『バッチファイル』で起動する方法を書きました。 バッチファイルでフォルダを指定しておいて、『ダブルクリック一発』で比較できるようにしました。 毎回ファイルやフォルダを指定する手間が省けて、とても快適になりました。 (追記)WinMerge の履歴を削除する方法も書きました。 WinMerge の履歴を削除する方法【最近使用したファイル】 WinMerge のマニュアルWinMerge(ウィンマージ) を呼び出すときに使用した引数(ひきすう)のマニュアルです。 さて、自分がバッチファイルでやりたいことです。 2つのフォルダを、両方とも読み取り専用で開く。サブフォルダの中も再帰的に比較する。あとは、WinMerge のヘルプを見て、目的に合った引数を選んでいきました。 (manual.winmerge.org) コマンドライン – WinMerge ヘルプ
Python でファイルとフォルダのタイムスタンプを変更するコード例です。 Windows 用です。 win32_setctime.setctime() と os.utime() を使用して、ファイルとフォルダの作成日時・更新日時・アクセス日時を変更します。 win32_setctime は、作成日時を変更するための外部ライブラリです。 (pypi.org) win32-setctime · PyPI (GitHub) Delgan/win32-setctime (2020年10月18日 追記)『win32-setctime 1.0.3』から、フォルダの作成日時変更にも対応したとのことでした。とてもありがたいです。 (GitHub) Support for changing ctime for directories · Issue #3 · Delgan/win32-setctime 以
Pythonパイソン で『半角文字』と『全角文字』を変換するときに、おすすめのライブラリです。 jaconv(ジャパニーズコンバーター)mojimoji(モジモジ)str.maketrans() と str.translate()(メイクトランス と トランスレート)自分はこの3つを使ってきましたが、どれもおすすめです。 あと、もっと広い範囲の文字について正規化せいきか (normalizeノーマライズ) するときは、unicodedata.normalize() (ユニコードデータ ドット ノーマライズ)が便利でした。 まず、『unicodedata.normalize()』を適用してから、『jaconv.z2h() や jaconv.h2z()』を適用する、といった処理も、自分はよく使ってきました。 jaconv(ジャパニーズコンバーター)一番使っているのは jaconv です。 pi
zip ファイルを解凍せずに直接読み込む Python コード例を書きました。 EDINET も TDnet も EDGAR も、XBRL は『zip ファイル』で公開されていました。 zip ファイルの中身を読み込むときは、いったん HDD か SSD に解凍(展開)するのが一般的ですが、zip から直接読み込むこともできました。 やり方ですが、『標準の zipfile モジュール』を使用したらできました。 zip の中身を SSD とかに解凍しなくていいので、大量の XBRL を読み込むときに、省スペースで済みました。 とても便利です。 もちろん、XBRL 限らず、『普通の zip ファイル』から『普通のファイル』を狙って読み込むこともできました。 標準の zipfile モジュールを使うPython で zip ファイルを読み込むときは、Python 標準の zipfile モジュー
マークダウンにHTMLコードを書きます(結論)以上です。 いきなり結論ですが、マークダウンの中にHTMLタグをそのまま書けばOKでした。 HUGOは、マークダウンの中に書いたHTMLコードをそのまま出力してくれました。 マークダウンファイル(.md) の中に書くHTMLコードは、Raw HTML とか Inline HTML と呼ばれていました。 検索で『markdown raw html』とか『markdown inline html』で検索したら、『マークダウンはインラインHTMLをサポートしている』といった内容のサイトがヒットしました。 マークダウンの仕様Markdownマークダウンの仕様(文法、構文、Syntaxシンタックス)の場所です(マークダウンの開発者のサイト)。 INLINE HTMLの説明がありました。 (daringfireball.net) INLINE HTML –
Selenium(セレニウム) の SendKeys は遅かったです。 webdriver でテキスト入力するときは、SendKeys で入力するのが簡単でしたが、どうしても速さに限界がありました。 そこで、テキストボックスに長い文字列を入力するときは、『executeScript(エクセキュート スクリプト)』で入力するのがおすすめです。 executeScript を使用したら、テキストエリアの value に、直接テキストを入力することができました。 Python の場合は .execute_script() というメソッドを使用します。 入力したい文字列を直接代入できたので、長いテキストも、一瞬で入力できるようになりました。 Selenium の高速化が必要なときに便利でした。 テキストボックスに文字列を入力するコード入力フォームのテキストボックス・テキストエリア・インプットボック
このページを最初にブックマークしてみませんか?
『srbrnote.work』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く