Python

また役に立つツールを(以下略

XML は整形しても読みづらいので json に変換するツール書いた。 Dictionary 経由で XML を JSON に変換するだけ。簡単。 import json import xmltodict filename = 'hoge' dict_data = [] with open(filename + '.xml', encoding = 'utf-8') as fp_xml: xml…

また役に立つまともなツールを作ってしまった・・・

csv のカンマをパイプに置き換えるツールです。ダブルクォーテーション内は置き換えません。カンマってデータ中にもよく出てくるので、awk などでテキスト処理したいときに、いつも面倒な問題がつきまといます。パイプであれば日常的にデータの中に使う人は…

タグジャンプ問題

やはり elpy だけ使わないようにした。 定義の表示に xref ってのを使っているみたいなんだけども、 同じ定義名があちこちにある場合にデフォルトだと、どれがどれだかわからない。 まあ、同じ関数名をあちこちで定義している、 う◯こみたいなソースコードが…

タグジャンプ壊れ解決?

elpy のタグジャンプはなんか壊れているので、デフォルトの方を使えば問題ない。 (define-key global-map "\M-." 'find-tag) (define-key global-map (kbd "C-x 4 .") 'find-tag-other-window) (define-key global-map "\M-*" 'pop-tag-mark)知らんけど。

タグジャンプ問題その後

elpy を入れるとぶっ壊れる。これは確実。何度もインストールを繰り返して確認した。 同一ファイル内のタグジャンプはできるけれども、別ファイルに定義がある場合ジャンプできないので*1、こんなんじゃ使い物にならない。 今のところの解決方法: elpy はイ…

タグジャンプまたぶっ壊れる

また壊れた。原因不明。オワタ。 elpy-config が同じノート PC は問題ないんだけど、デスクトップはダメ。 意味わからん。 ~/.emacs.d の中を全部消してインストールし直したけど直らん。 意味わからん。 もう Python とかヤダ。

TAGジャンプが壊れる

タグジャンプが効かなくなった! 初回は TAGS の場所を聞いてきて、しかるべきソースにジャンプするはずなんだけど TAGS の場所を聞いて来ず、 No definition found とかメッセージ出してジャンプしない! なんでやねーん! 原因: jedi-0.18.0 以降だと、な…

定数の定義

定数の定義について若いプログラマから質問を受けたので、 Python ならば json で定義するといいんじゃない? って答えたんですよ。しかし・・・ ちょっと画面を見せてもらったら こんなのを書いてんのが見えたんですよ。 ConstValue30 = 30 ConstValue31 = …

Emacs で Python のソースのあちこちにタグジャンプする

自分用メモちゃんと PYTHONPATH で、「あちこち」のディレクトリを設定してから、 こんな風にコロン区切りでパスを追加すればよろし。 $ export PYTHONPATH="path/to/source/directory:$PYTHONPATH"ソースのルートディレクトリで $ ctags -Reをして TAGS フ…

elpyのエラー

elpy がこういうエラーを吐く場合の対処方法のメモ。 (この対処方法で必ず直るかはわかりません。) elpy-rpc--default-error-callback: peculiar error: "exited abnormally with code 1"これのエラー対処方法を調べていたら 1.Emacs で elpy を一旦アンイン…

30年前のやり方じゃん

開発メンバーの作業ぶりを見ていると、 1)TeraTerm で Linux にログイン 2)Docker コンテナに入る 3)vi で Python のコードを編集 とかやっているんですよ・・・。おいおい、それ 30 年前のやり方と同じだよ? いつまでそんなことやってんの? て感じです。E…

ssh を使用時にハングアップする

umeaji.hatenablog.com この設定を使っていると、ssh でリモートの python ソースを修正していると emacs がハングアップしていましたが、ハングアップの解決方法をなんとか見つけました。いろいろ課題は残りますが。時間がかかった理由は python が好きでは…

python のダメなところ

python3 は文字列とバイト列の区別が明確になりました!は、「はあ、そうですか」って感じなのですが、ならば if 'foo' == b'hoge': こういうのをなんでエラーにしないんですかね? 実際は片方が関数呼び出しだったりするわけですが明確に区別するんなら、エ…

python-mode をアップデートしたら壊れた

インストールしているパッケージ全体をアップデートしたら、python のコードを開くと、wrong number of arguments が出るようになった。 github.comこの現象にそっくり。 launchpad.netpython-mode のバージョン 6.2.2 を上記サイトからダウンロードして、6.…

まともなツール書いた

まともなツールを書いてしまったwww 言うてもたいした事ないんだけど。 #!/usr/bin/python # -*- coding: utf-8 -*- import os import sys import pandas as pd # 表示を省略しない pd.set_option('display.max_rows', None) args = sys.argv in_file = a…