Python

C言語への埋め込み (2)

Pythonファイルの実行 // test.c #include "Python.h" int main(int argc, char* argv[]) { PyObject* PyFileObject; Py_Initialize(); PyFileObject = PyFile_FromString("test.py", "r"); PyRun_SimpleFile(PyFile_AsFile(PyFileObject), "test.py"); Py_F…

C言語への埋め込み

http://d.hatena.ne.jp/Wacky/20060103/1136292735 を参考にとりあえずビルドまで。 # test.c #include <stdio.h> #include "Python.h" int main(void) { Py_Initialize(); PyRun_SimpleString("print 'hello python'"); Py_Finalize(); return 0; } C:\temp\python>g</stdio.h>…

pyファイルをpycファイルにコンパイルする方法

Pythonはモジュールをimportする際にpycファイルを作成する。なので、コマンドプロンプトから以下のコマンドでaaa.pyファイルをaaa.pycにできる。 > python -c "import aaa" もしくは、1つのpyファイルをpycファイルに変換するには、以下のコマンド。 > pyth…

メモ

((Pythonで) 書く (Lisp) インタプリタ) (http://www.aoky.net/articles/peter_norvig/lispy.htm) ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) (http://www.aoky.net/articles/peter_norvig/lispy2.htm)

PyInstaller

PyOpenGLとwxPythonをPyInstallerを使ってexe化出来た。py2exeでは出来なかったが、これでアプリを作れそう。それにしても、日本語で読めるwxPythonの記事がネットにかなり少ない…。

GC

PythonのGarbageCollection (http://www.narihiro.info/translate/garbage_collection_for_python_jp.html) 後で読む。

メモ

Google Code University: Programming Languages (http://code.google.com/intl/ja/edu/languages/index.html) pyOpenGL Game Tutorial (http://gunload.web.fc2.com/opengl/tutorial/)

メモ

None is None is None: ネストしたモジュールをimportする関数 (http://doloopwhile.blogspot.com/2009/12/import.html) >>> import sys >>> os = sys.modules['os'] >>> os = __import__('os') 前者は、ネストしたモジュールをimport出来るが、後者はできな…

メモ

Web開発者に贈る昨今のPython事情 (http://enbug.org/OSC2009TokyoFall.pdf)

lambdaとクロージャに関して

yattの日記: 無名関数のリストのうち一つを呼び出す無名関数のリストの混乱しやすい挙動 (http://d.hatena.ne.jp/yatt/20091012/1255353971) fs = [lambda: 1, lambda: 2, lambda: 3] gs = [lambda: f() for f in fs] print gs # => [ at 0x6b2f0>, at 0x6b3…

メモ

Portable Python (http://portablepython.com/) 後で調べる。

メモ

Python Advocacy HOWTO (http://oldriver.org/python/advocacy.html) 後で読むかも。

Unladen Swallowプロジェクト

プロジェクト計画 (http://articles.shibu.jp/article/30008337.html) 後で読む。Googleの中の人が参加しているということでかなり期待できる。将来的に本家に取り込まれて標準化されたら面白いなあ。もはやGoogleの会社自体で力を入れてPythonを開発してい…

Decompiler

DePython (http://depython.net/) decompile.py (http://users.cs.cf.ac.uk/J.P.Giddy/python/decompiler/decompiler.html) pycファイルをpyファイルに変換してくれる。

メモ

PythonのGarbageCollection (http://www.narihiro.info/translate/garbage_collection_for_python_jp.html) あとで読む。

メモ

渋日記: Pythonクックブック2nd 6.10をPython3.0に移植してみた (http://blog.shibu.jp/article/29437040.html) 2.Xと3.Xではメソッド呼び出しはそれぞれ以下のように解釈されます。 # Python2.X m.im_func(m.im_self, arg_1, arg_2, arg_3) # Python3.X m._…

Python 3.1

What's New In Python 3.1 (http://docs.python.org/dev/py3k/whatsnew/3.1.html) 一部だけメモ。Python 3.1b1でテスト。 Ordered Dictionaries 順序付き辞書が追加された。 >>> from collections import OrderedDict >>> od = OrderedDict() >>> od['a'] = …

メモ

翻訳 - Pythonのmultiprocessingモジュールを使ってGoogleの並列処理システムMapReduceをインプリする http://coreblog.org/ats/translation-of-implementing-mapreduce-with-python-multiprocessing-module 後で読む。

拡張モジュールと言語の組み合わせ

第9回 Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 (http://gihyo.jp/dev/serial/01/pythonhacks/0009) C言語で作られたダイナミックリンクライブラリとヘッダから橋渡し部分のPythonモジュールを自動生成し,そのモジュ…

メモ

Pythonで簡単GUI (http://lifecrak.gunmablog.net/e36020.html) GUIを簡単に作成するライブラリ。 EasyGUI EasyDialogs

メモ

The History of Python.jp (http://python-history-jp.blogspot.com/)

メモ

時間城年代記 : PythonによるYコンビネータの仕組みの(多分)わかりやすい説明 (http://blog.livedoor.jp/kikwai/archives/51587001.html) 後で読む。

配列にsumを適用

ラシウラ: pythonでflatten (http://d.hatena.ne.jp/bellbind/20090408/1239207990) sum()の引数は通常、数値のリストだと思うが、リストにも適用できるのは知らなかった。 >>> sum([[1], [2], [3,4]], []) [1, 2, 3, 4] 文字列はダメらしい。 >>> sum(['a',…

メモ

常山日記経由でメモ。 Trac Lightning 少し調査してみるつもり。 IPYWEB http://d.hatena.ne.jp/nitoyon/20090407/ipyweb_released http://tech.nitoyon.com/ipy/ ブラウザ上でPythonを試せるサイト。すばらしい。

Python3のformatメソッドの中途半端なところ

Python 3.0 Hacks 第6回 Pythonicな文字列フォーマットforamat()メソッド (http://gihyo.jp/dev/serial/01/pythonhacks/0006) formatメソッドで辞書の値を表示するには以下のように[]の中にキーの文字列を書く。 >>> d = {'foo': 'a'} >>> "{0[foo]}".format…

リスト内包表記再考

ときどきの雑記帳: ネスト (http://www.kt.rim.or.jp/~kbk/zakkicho/09/zakkicho0903c.html#D20090330-2) [expr for x in [...] for y in [...]] は、 lst = [] for x in [...]: for y in [...]: lst.append(expr) と同等ということらしい。 私の今までの研…

3.0のexecの挙動

時間城年代記: exec関数<詳細版> (http://blog.livedoor.jp/kikwai/archives/51560304.html) 以下がPython 3.0で面白い挙動を示していたので調べてみた。なお2.5.4でテストしたらエラーが発生しなかった。 >>> def f11(): ... exec('x = 666') ... print(l…

メモ

Whats3onLP (http://python.is-a-geek.org/wiki/index.cgi?Whats3onLP) 3.0の変更点のまとめ。1箇所だけ間違い見つけた。 "My name is {0.name}".format(open('out.txt', 'w'))この例では、formatメソッドの引数0である関数openの属性"name"の中身であるファ…

メモ

Pythonでゲーム作りますが何か? (http://pygame.skr.jp/) PyOpenGLとかOpenGLの勉強にかなり参考になりそう。Pygameも少しだけ勉強してみようかな。

Excelのグラフを画像として保存

PythonでExcelのグラフをJPG画像として保存するコード片。調べるのに苦労したので張っておく。一度クリップボードに貼って取得するのだと思ったら、直接画像に保存できた。Exportメソッドの第2引数を"GIF"などに変更すればGIFなどでも保存可能。 # coding: c…