いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

python

Pythonメモ-114 (Excelの各シートのシェイプの位置を調整するスクリプト)

まえがき 概要 ソース まえがき devlights.hatenablog.com devlights.hatenablog.com の続きです。。。ご覧なっていない場合は先に上を御覧くださいませー。 概要 仕事上、大抵の人はWindowsで作業してて、大抵の人はExcelで資料とかいっぱい作ったりしてま…

Pythonメモ-113 (Excelの最初のシートの最初のセルを選択状態にするスクリプト)

まえがき 概要 ソース まえがき devlights.hatenablog.com の続きです。ご覧なっていない場合は先に上を御覧くださいませー。 概要 仕事上、大抵の人はWindowsで作業してて、大抵の人はExcelで資料とかいっぱい作ったりしてますよね。。 で、最終段階になっ…

Pythonメモ-112 (Pythonネットワークプログラミングチートシートが公開)

概要 概要 忘れないうちにメモメモ。 以下の記事で知りました。 news.mynavi.jp 実際のチートシートは以下で公開されています。感謝m( )m www.comparitech.com 過去の記事については、以下のページからご参照下さい。 いろいろ備忘録日記まとめ devlights.gi…

Pythonメモ-111 (Excelの各シートのズーム倍率を揃えるスクリプト)

概要 ソース 概要 仕事上、大抵の人はWindowsで作業してて、大抵の人はExcelで資料とかいっぱい作ったりしてますよね。。 で、最終段階になって、「このExcelファイルたちのシートのズームの倍率がバラバラなので揃えてほしい」とかよくあったりしますよね。…

Pythonメモ-110 (python 3.8 で 最新の ipython インストールしたら trailtlets の警告出た)

概要 解決方法 概要 自分の備忘録です。忘れない内にメモメモ。 前回、Python 3.8 がリリースされたので自分の環境にインストールしたのですが その後、pip で ipython をアップデートすると起動時に以下の警告が出るようになりました。 $ . venv/py3/script…

Pythonメモ-109 (python 3.8.0 リリース, venv の アップグレード)

概要 venv の 環境をバージョンアップ 概要 ついに、Python 3.8 がリリースされましたね。以下からいつもどおりダウンロード出来ます。 www.python.org インストールもいつも通りです。リリースノートは以下から見れます。 docs.python.org 大御所 RealPytho…

Pythonメモ-108 (sys.getsizeof()と__sizeof__()が返す値が異なる時がある)

概要 試してみる サンプル 概要 へぇーってなったので、忘れないうちにメモメモ。 超有名な Raymond Hettinger さんのツイートで知りました。 #Python oddity: While most functions with corresponding dunder methods are straight pass throughs, sys.get…

Pythonメモ-107 (__main__.py について)(-m オプション, メインファイル)

概要 __main__ を復習 んじゃ、__main__.py があるとどうなる? どういうときに便利? 補足 概要 目から鱗の情報だったので、忘れないうちにメモメモ。そういえばそうだわwってなりました。知らなかったのが恥ずかしいですが。そういえば、Github とかでも …

Pythonメモ-106 (PyPIが2段階認証に対応)(two-factor authentication, 2FA)

概要 やっとPyPIが2段階認証に対応したとのこと。忘れないうちにメモメモ。 セキュリティの観点からも、アカウント持っている人は早めに設定しておいた方がいいですね。 pythoninsider.blogspot.com Account Settings の下の方に 2FA の項目があります。下は…

Pythonメモ-105 (動的にクラスを定義)(type(), types.new_class())

概要 滅多に使わないのですが、たまーに使いたいシーンが出てきたりするのが動的にクラス定義するやり方。 よく忘れるので自分用にメモです。 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.4 BuildVersion: 18E226 $ python --version Pytho…

Pythonメモ-104 (GithubでTravis-CIを設定)(Python 3.7を使用, pipでwxPythonをインストール)

概要 すぐ忘れてしまいそうなので、自分用にメモ。 自分用のサンプルリポジトリに Travis-CI を導入しようとしていろいろハマったので。。。 Travis CI のサインアップ travis-ci.com なにはともあれ、サインアップしておかないと使えない。github アカウン…

Pythonメモ-103 (round関数の丸め戦略)(python3から変更, 最近接偶数丸め, round ties to even)

概要 知らなかったので忘れないうちにメモメモ。組み込み関数 round() の丸め方が python3 から変更されていたのですね。 docs.python.org stackoverflow.com 最近接偶数丸めに変更となっています。 ja.wikipedia.org python2 の環境が今無いので試していま…

Pythonメモ-102 (特殊メソッドのリスト)(Special Method, Dunder Method, Double Underscore)

概要 特殊メソッドのリストが記載されているページを忘れないようにメモメモ。たまに見返さないと忘れる・・・。 最も個人的に見やすいのは、やっぱり Dive into Python3 diveintopython3-ja.rdy.jp 公式ドキュメントでは、ライブラリの中の3.データモデル…

Pythonメモ-101 (組み込み関数 len の挙動)(文字数, バイト数, __len__, Sized)

概要 組み込み関数 len() の挙動をよくボケて忘れてしまうので、忘れないようにメモ。 docs.python.org [https://docs.python.org/ja/3/reference/datamodel.html?highlight=len#object.len:embed:cite] dunder method の存在をつい忘れてしまいますね。 サ…

Pythonメモ-100 (aiojobs)(asyncio向けのジョブスケジューラライブラリ)

概要 便利なライブラリ見つけたので、忘れないうちにメモメモ。 github.com aio-libsグループのライブラリですね。asyncio向けのジョブスケジューラを提供してくれます。 どんなライブラリなのかは、上のページのREADMEを見たほうが早いのですが、自分用に以…

Pythonメモ-99 (リストの flatten 化)(list, itertools.chain, フラット化)

概要 よく忘れるのでメモ。 リストを flatten したい場合、便利なのが itertools.chain.from_iterableを使うと簡単にフラット化できます。 サンプル """ リストのサンプルです. リストの flatten について REFERENCES:: http://bit.ly/2L7yfq1 http://bit.ly…

Pythonメモ-98 (venvでの仮想環境でのsys.prefixとbase_prefixの違い)

概要 小ネタ。 venvで仮想環境を作って activate した状態だと、sysモジュールの以下のプロパティの値が異なる状態となります。 sys.prefix sys.exec_prefix sys.base_prefix sys.base_exec_prefix 仮想環境だと、baseなしの方が 仮想環境のパス、baseありの…

Pythonメモ-97 (python 3.7 + pyinstaller 3.4 + venv で TypeError が出る件)(expected str, bytes or os.PathLike object, not NoneType)

概要 忘れない内にメモメモ。 Python 3.7 + PyInstaller 3.4 + venv の環境で実行ファイルを作成しようとしたら以下のようなエラーが出ました。 8473 INFO: Building PKG (CArchive) PKG-00.pkg Traceback (most recent call last): ・・割愛・・ File "C:\P…

Pythonメモ-96 (async-timeout)(asyncio 互換のタイムアウトクラス)

概要 便利なライブラリがあったので、忘れないうちにメモメモ。 github.com 非同期処理でタイムアウト処理って書くの面倒なんですが、これ使うと楽ですねー。 サンプル 以下、async-timeout モジュールのちょっとしたサンプルです。 """ async-timeout モジ…

Pythonメモ-95 (正規表現で絶対最大量指定子を指定する)(re, regex, possessive quantifier, 強欲な量指定子, 標準モジュールではサポートされていない)

概要 昨日の devlights.hatenablog.com に引き続き、標準モジュール re でサポートされていない正規表現シリーズ。 忘れない内にメモメモ。 絶対最大量指定子って 名前がすごいイカついですが、概念的にはアトミックグループと同じようなものです。 アトミッ…

Pythonメモ-94 (正規表現でアトミックグループを指定する)(re, regex, atomic groups, 標準モジュールではサポートされていない)

概要 python で re モジュールを使って、正規表現書いていたときにたまたま知ったのでメモメモ。 python の 標準モジュール re では、アトミックグループの指定がサポートされていないんですね。 アトミックグループって何ぞや 正規表現を使って処理をする場…

Pythonメモ-93 (Pythonセキュリティベストプラクティスチートシート)(Python Security Best Practices Cheat Sheet)

概要 素晴らしいチートシートが公開されていたので、忘れない内にメモメモ。 snyk.io 10か条で記載されています。上記のページから、チートシートのPDFのダウンロードが可能なほかに、それぞれの項目についての説明があります。 このチートシートで、Bandit …

Pythonメモ-92 (PEP-448 Additional Unpacking Generalizations)(アンパック演算子の利用方法拡張, python 3.5で追加)

概要 Python 3.5 で追加された PEP-448 についてのメモ。 www.python.org 元々存在している * と ** というアンパック演算子の利用方法を拡張するというものです。 便利なので忘れないようにメモメモ。 どんな内容? 以下のケースでの利用方法が拡張されてい…

Coder.com が VSCode をリモートサーバで動作させるcode-serverをオープンソースで公開 (code-server, vscode on a remote server, github, docker)

概要 VSCodeをブラウザ上で操作して編集できるサービスを公開していた Coder から code-server がオープンソースで公開されてますね。 忘れない内にメモメモ。coderはまだバージョンがalpha版なのですが、先日触っていたらすごくいい感じでした。 ブラウザ上…

Pythonメモ-91 (python 3.7 からdictの挿入順序が保証されている)(Dictionaries now ordered, 順番を守ったまま重複を削除する)

概要 Python 3.7 から dict の挿入順序が保持されるというのが、公式に Python 言語仕様の一部であると 宣言されました 。 docs.python.org mail.python.org 公式に宣言されたのは、素晴らしいことです。 順番を守ったまま重複を削除する qiita の方に qiita…

Pythonメモ-90 (vscodeでpython のターミナルとしてIPythonが起動するようにする)(python.terminal.launchArgs, IPython)

概要 以下、自分用のメモです。 ついでに、vscode 内で python のターミナル起動 したときに、IPython 起動するようにする設定。 以下を参考にしました。 stackoverflow.com python.terminal.launchArgsにそのまんま ipython 起動するように設定してやるだけ…

Pythonメモ-89 (vscodeでパッケージ形式になってるpythonファイルをデバッグ起動)(PYTHONPATH, launch.json)

概要 以下、自分用のメモです。 自分のpythonの知識が足りていないだけなのですが、vscode で 以下のような構造 +---.vscode | launch.json | +---lib | versions.py | __init__.py | \---pkg1 main1.py __init__.py があって、main1.pyが例えば以下のように…

Pythonメモ-88 (ターミナルの行列のサイズを取得)(get_terminal_size, terminal_size, 3.3 以降)

概要 ターミナルのサイズが知りたいときがあって、最終的にめっちゃ簡単に取得できたので忘れない内にメモメモ。 最初、以下の gist を発見。 Get current terminal size on Linux, Mac, and Windows · GitHub 結構大変やん・・って思ってたら、以下のコメン…

Pythonメモ-87 (文字列から16進とか2進に変換したり戻したり)(bitstring使用)

概要 いつも忘れてしまう文字列から16進数にしたり2進数にしたりのメモ。 前に似たようなものを記事で書いた記憶があるけど、それすらも見つけることが出来なかったので。。。。 環境設定 いろいろやり方はありますが、最近こういうのは bitstring さん使っ…

Pythonメモ-86 (requirements.txtにて特定のOSの場合のみインストールするようにする)

概要 最近、conda をやめて pip と venv の環境に戻ったのですが、requirements.txt で 特定のOSの場合のみインストールするようにしたいことがたまにあります。 Windows版が存在しないライブラリとかWindows版しか存在しないものなどの場合です。 例を上げ…