2014-12-01から1ヶ月間の記事一覧

os.path.joinでリストを連結する

Pythonのos.path.joinを使うと、実行環境に応じた適切なセパレータによってパスを連結できます。 import os os.path.join("path", "to", "somewhere") # 'path/to/somewhere'が返る(linuxの場合) join()の引数にリストを与えるのはよくある間違いです。以下…

Python3でmkdir -pする(深いディレクトリを作る)

bashなどでmkdirに-pを付けると、深い階層のディレクトリを一発で作れます。 mkdir -p very/deep/dir これと同じことをPython3(3.2以上)で行うには、os.makedirs()を使います。 import os os.makedirs(os.path.join("very", "deep", "dir"), exist_ok=True) …

VS2013で、新しいファイルをUTF-8で作成する

Visual Studioで新しいファイルを追加すると、以下のようなダイアログが出ます。 このダイアログでファイルを新規作成して保存すると、文字コードはShift-JISになってしまいます。しかし、できることならUTF-8で保存したい。ファイルの新規作成時に文字コー…

VS2013では初めからminimapが使える

minimapといえば、Sublime Textというエディタが提供して人気になった、コードの全体像を縮小して表示する機能のことです。Visual Studio2013では初めからその機能が組み込まれていることをさっき知りました。 minimapを有効にするには以下の手順を踏みます…

Pythonの辞書で順番を保つにはOrderedDictを使う

Pythonの辞書(dict)では、keyを登録した順番は記憶されません。 例えば以下のコードを実行すると、 # 普通のdictの場合 d = {} d["zz"] = 0 d["cc"] = 30 d["aa"] = 10 d["bb"] = 20 d["aa"] = 40 for key, val in d.items(): print(key, val) 以下の結果が…

VS2013にSign inできない現象(SP324098)を一応解決

現象 Win7 + Visual Studio 2013 Community Editionにて、Sign inしようとすると以下のようなエラーメッセージが出て失敗しました。 Sorry, we ran into a problem SP324098: Your browser could not complete the operation. 調査は難航 SP324098でググって…

Visual Studioのコードスニペット機能を使って高速にコードを書く

常識かもしれないのですが、Visual Studioのコードスニペット機能にいまさら気が付きました。 例えばC++の場合、classと打鍵してからTabを押すと、自動的に以下のコードスニペットが挿入されます。 class MyClass { public: MyClass(); ~MyClass(); private:…

Python Toolsで対話的にデバッグする

Visual StudioにPython Toolsプラグインをインストールした構成にて、コードの実行中に対話的にデバッグを行う方法についてご紹介します。Windows 7 + Visual Studio Express 2013 for Windows Desktop Update 4 + Python Tools 2.1という構成で動作を確認し…

matplotlibの使い方メモ

自分用メモ。ブログ用に編集し直すのが面倒なので、IPython Notebookのノートへのリンクを置きます。 nbviewer.ipython.org/gist/minus9d/e7fea3fc9301762ce9e0

IPython Notebookのノートをgitなどで版管理する

IPython Notebookのノートは、拡張子が.ipynbであるファイルとして保存されます。この.ipynbファイルを覗いてみると、以下のようにpngがファイル内に埋め込まれていることがわかります。 "outputs": [ { "metadata": {}, "output_type": "display_data", "pn…

IPython Notebookのちょっとしたメモ

最近流行のきざしがあるIPython Notebookに関するちょっとしたメモです。 定型文 %matplotlib inline グラフをインラインに埋め込むためのおまじない %pylab inlineは名前空間を汚染する副作用があるので使用しない方がよい (参考:iPython Notebookの--pyla…