Python

8個のファイルの平均を求める

先日のスクリプトの使い回し。 #!/bin/env alist = [0, 45, 90, 135, 180, 225, 270, 315] x1 = [] y1 = [] z1 = [] a1 = [] a2 = [] a3 = [] for ANG in alist: filen = 'result.4-%s' % str(ANG) fp = open(filen, 'r') lines = fp.readlines() fp.close()…

グラフを描くための12個のファイルの平均をもとめる

#!/bin/env nu = 1.0/8.45 *1.E-5 dy = 0.1/2600.0 mm = 1000 x1 = [] y1 = [] a1 = [] a2 = [] for NUM in range(12): filen = 'samplx_high_nostep.08.AVE.%s' % str(NUM+1) fp = open(filen, 'r') lines = fp.readlines() fp.close() xx = list() uu = li…

シェルスクリプトを作るためのスクリプト make_go.unPify.py

あるプログラムunPifyを実行させるためのシェルスクリプトを、 作成するためのPythonスクリプト。 読み込むファイルが複数あるのだが、ファイル名に付けられている数が連番に なっておらず、いくつあるかもケースによって異なるため、このスクリプトが必要に…

4つのファイルからデータを取り出して1つのファイルにまとめる

4つのファイルからデータを取り出して、1つのファイルにまとめるスクリプトを作成。 これでファイルの数を少なくできる。 #!/bin/env python # compare_fft_result.py for pnt in xrange(15): file1 = 'fft_N070.B1.%s' % str(pnt) file2 = 'fft_N070.B2.%s'…

今日の使い捨てスクリプト

ログから時刻を抜き出して、かかった時間を抽出するスクリプト #!/bin/env python NUM = 4548 file = 'cpr.log' fp = open(file, 'r') time = [0.0]*(NUM+1) itr = [0]*(NUM+1) for i in fp.readlines(): if i.find('Start') == 0: if i.find('step') != -1:…

今日の使い捨てスクリプト

#!/bin/env python NUM = 4547 file = 'log' fp = open(file, 'r') res = [0.0]*(NUM+1) itr = [0]*(NUM+1) for i in fp.readlines(): if i.split()[0] == 'step': res[int(i.split()[1])] = float(i.split()[12]) itr[int(i.split()[1])] = itr[int(i.split…

今日のエラー

再現性がないエラー。 (python:20923): Gdk-CRITICAL **: gdk_window_set_geometry_hints: assertion 'GDK_IS_WINDOW (window)' failed これまでは出ていないので、修正した箇所が悪いに違いない。

Matplotlibで描くグラフ

計算結果と実験結果を比較した図をプロットするスクリプトを作成しました。 matplotlibを使っています。 #!/bin/env python import os from pylab import * namf = ["data1.txt", "data2.txt"] nams = ["u-xx", "u-yy"] for ii in xrange(len(namf)): fp = o…

座標をスケールするスクリプト

使い捨てスクリプト。 見ての通り、座標をスケールして表示する。 #!/bin/env python fp = open("coord", "r") lines = fp.readlines() for i in lines: x0 = float(i.split()[1]) y0 = float(i.split()[2]) z0 = float(i.split()[3]) x1 = x0 * 0.3 y1 = y0…

今日のエラー

xxxxは自作モジュールのクラス名。 解決できず。 Traceback (most recent call last): File "/home/hoge/wxPython-src-2.8.12.0/wxPython/wx/_core.py", line 14656, in <lambda> lambda event: event.callable(*event.args, **event.kw) ) TypeError: 'xxxx' object</lambda>…

pygameのインストール

CentOSにpygameをインストールしようとする。ソースを展開して、 # cd pygame-1.9.1release # python setup.py installとするとエラー。 WARNING, No "Setup" File Exists, Running "config.py" Using UNIX configuration...Hunting dependencies... sh: sdl…

リストの中に、特定の文字列があるかどうか確かめたい

リストの中に、特定の文字列があるかどうか確かめたい。 例えば、ディレクトリ内のファイルリストから、あるファイルがあるかどうか判断する。 方法1(ループを明示的に書く): import os for NAME in os.listdir('.'): if NAME == 'hoge': print 'okay' 方…

今日のPythonエラー

TypeError: coercing to Unicode: need string or buffer, dict found matplotlibを使ったアプリケーションを、pyInstallerで固めたバイナリを実行するときに現れるエラーメッセージ。 原因が不明。どうにかしなければ。http://winnie.kuis.kyoto-u.ac.jp/me…

pyClutter

clutterというGUIツールキットがあるそうだ。それのPythonバインディングがpyClutter。 ドキュメントを探したが、見つからないのでpendingにする。 # apt-get install python-clutter-docでインストールできたはずだが、見方が分からない。

開発中のエラー

The program 'python' received an X Window System error. This probably reflects a bug in the program. The error was 'BadPixmap (invalid Pixmap parameter)'. (Details: serial 2095706 error_code 4 request_code 56 minor_code 0) (Note to program…

Matplotlibでグラフを描くpythonスクリプト

Excelでプロットする際に、ファイルを開いたり、移動したり、座標軸を設定したりという作業が面倒だったので、データのファイルを読み込んで、matplotlibでグラフを描くスクリプト。 #!/bin/env python import os from pylab import * namf = [ 'data.lst_no…

ソースコードの73カラム目以降を削除する

Fortranのソースコード等では、各行の73カラム以降はコンパイル時に無視されるため、何を書いてもよくコメントを書くことに使われる場合がある。そのようなソースを紙に印刷する場合、一行分が紙での2行以上に渡って印刷されてしまうことがある。これは紙の…

PILでgifファイルのリサイズ

大量のGIFファイルを一気にリサイズするために、Python Image Library (PIL)を使う。サイズがちょっと大きすぎて、GIFアニメーションの容量が大きいので小さくする。以下のスクリプトで一気に100枚のファイルをリサイズした。 import glob import Image fls …

loggingモジュール

今まで使おうとしなかったloggingモジュール。 print文でログを出力させるよりも便利かもしれない、と気付く。標準出力とファイルに同時に書き込みたい場合などに。http://www.python.jp/doc/2.4/lib/minimal-example.html http://www.python.jp/doc/2.4/lib…

ファイルの一部を削ってくっつけるためのスクリプト

不要な部分を取り除いたファイル同士を、くっつけて新しいファイルとする。ファイル数が多い、かつファイルに書かれたデータ数が膨大なためにスクリプトで処理した。以下、使ったPythonスクリプト。 #!/bin/env python # sum-data.py import os flist = os.l…

GAEを使う練習(静的ファイルの取り扱い)

作ればわかる!Google App Engine for Javaプログラミング作者: 中垣健志出版社/メーカー: 翔泳社発売日: 2011/04/23メディア: 大型本購入: 3人 クリック: 104回この商品を含むブログ (24件) を見るそろそろGoogle App Engineでも、やってみるかということで…

pyExceleratorは便利そうなのだが...。

時系列データを記録したアスキーデータが複数ある。80000あまりの時間に渡り、データをサンプリングしたものだ。これら複数のファイルをExcelシートにまとめたい。アスキーデータの総数は、60強ある。一つ一つファイルを開いて、Excelシートに貼り付けていた…

Pythonのthreadingモジュールを使うときのスレッド識別子

Pythonのthreadingモジュールを使うときに注意すること。pythonプログラムの中で、別のプログラムを実行させたいときにthreadingモジュールを使って、別スレッドで実行させる。このとき、生成したスレッドのID(スレッド識別子)を憶えておきたいのだが、何…

LinuxディストリビューションとPythonライブラリのバージョンを確認する方法

Pythonコードの開発環境を変えたときに、必要なライブラリがインストールされているか、インストールされていればそのバージョンは何かを調べるPythonスクリプトを作成した。 Linuxで開発することが前提なので、Linux用のスクリプトなのだけど。Linuxのディ…

subprocessでのデッドロックらしきものを回避する

Pythonのプログラムの中で、外部プログラムを実行するのにpopen2を使っていたのだが、さすがに古いモジュールなのでそろそろsubprocessモジュールに置き換えるべきかな、と思っていた矢先に今回の問題が発生した。 問題 数値計算を行うプログラムを作成して…

vimの設定-Python用-

エキスパートPythonプログラミングを見ていたら、Pythonを使い始めるときの準備としてvimエディタの設定が解説されていた。vimの設定ファイル.vimrcに何を設定したら便利か、という話。Python用の設定と言っても、インデントの入力を簡単にするところぐらい…

シェルスクリプトと、テンプレートを使ったPythonスクリプトの組合わせ

入力ファイルを変えて、ジョブの実行を繰り返す処理を行うシェルスクリプトを書く。 ジョブの設定ファイルの中に入力ファイル名を書くところがあるのだが、ジョブ毎にその部分を書き変える。その処理はPythonのTemplateを使う。 まず、ジョブの繰り返しを制…