Personal tools
You are here: Home Lights on Zope Categories python
« November 2017 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Recent entries
Python Anywhere seko 2016-11-19
帯状疱疹 seko 2016-11-18
Chromebook購入 seko 2016-11-03
マカロニさん めざせデータサイエンティスト seko 2016-11-02
脳波計muse 購入 seko 2016-09-04
フェルデンクライスメソッド227回目  seko 2016-08-27
EXCELマクロ タスクが残っていてTypeNameとShell.Applicationを使って起動済みのIEが探せない seko 2016-04-19
pythonでNITE 化学物質総合情報提供システムへアクセス seko 2016-04-19
Raspberry Pi 3で侵入者を発見 seko 2016-04-03
Raspberry Pi 3 OSのインストール seko 2016-04-02
Docker コンテナをexportするpythonスクリプト seko 2016-03-31
Effective Python ―Pythonプログラムを改良する59項目 seko 2016-03-30
確かな力が身につくPython「超」入門 鎌田 正浩 (著) seko 2016-03-29
pythonでバブルソート seko 2016-03-24
Recent trackbacks
シャネルバッグコピー シャネルバッグコピー 2017-11-14
ブランドコピー ブランドコピー 2017-11-14
スーパーコピー代引き スーパーコピー代引き 2017-11-11
ウブロスーパーコピー ウブロスーパーコピー 2017-11-11
スーパーコピーブランド激安通販専門店シャネルバッグコピー品 スーパーコピーブランド激安通販専門店シャネルバッグコピー品 2017-11-08
ブランド財布コピー ブランド財布コピー 2017-11-07
ルイヴィトンダミエバッグコピー ルイヴィトンダミエバッグコピー 2017-11-07
ブランドスーパーコピー ブランドスーパーコピー 2017-11-06
ルイヴィトン 財布カンコク コピー ルイヴィトン 財布カンコク コピー 2017-11-05
エルメスバーキンバッグ エルメスバーキンバッグ 2017-11-01
ジェイコブ時計 ジェイコブ時計 2017-10-31
ブランドコピー激安販売通販 ブランドコピー激安販売通販 2017-10-30
偽ブランド時計 偽ブランド時計 2017-10-30
シャネル時計 シャネル時計 2017-10-20
 
Document Actions

python

Up one level

Document Actions

Python Anywhere

by seko posted at 2016-11-19 09:53 last modified 2016-11-19 09:53

Chrome bookを購入し、Macbook Airはほとんど使わなくなったのですが、pythonのプログラムを書くときだけは例外です。 chrome bookでpythonもかけるようにするため、Python Anywhereというサービスに加入しました。 ブラウザから、pythonのプログラムを書くことができます。 無料版だとipython notebookが使えないので、5$/月の有料版と選びました。 間違えて、postgresのオプションも入れてしまったので、12$になってしまいましが、あとから見るとMySQLは無料でした。 プログラムの動作を確認するだけなので、postgresのオプションは外しても良さそうです。30日までは払い戻しができるようです。

https://www.pythonanywhere.com/

このサイトを使って、Chrome bookでipython notebookを使ってみましたが、快適そのものです。

サービスをクラウドに任せれば、もう高いPCを買う必要はないですね。

Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3689/tbping

マカロニさん めざせデータサイエンティスト

by seko posted at 2016-11-02 00:00 last modified 2016-11-03 11:34

マカロニさんとPython for Data Science and Machine Learning Bootcampを始めました

https://www.udemy.com/python-for-data-science-and-machine-learning-bootcamp/learn/v4/overview

Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3686/tbping

pythonでNITE 化学物質総合情報提供システムへアクセス

by seko posted at 2016-04-19 20:45 last modified 2016-04-19 20:45

NITE 化学物質総合情報提供システム を使うといろいろな方法で化学物質を検索できるのですが、残念ながらAPIは実装されていないようです。

一つ一つ手で検索するのは大変なので、pythonを使ってアクセスできないか試してみました。

まず、Chromeのデベロッパーツールを有効にして、CAS番号78-83-1で検索したところ、次のようなリスクエストが送られていることが分かりました。

http://www.nite.go.jp/chem/chrip/chrip_search/srhInput?shMd=0&hdUpScPh=&cidLt=&strErrMsg0=%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8CHTML5%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82&strErrMsg1=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E9%81%B8%E6%8A%9E%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82&txNumSh=78-83-1++&ltNumTp=1&txNmSh=&ltNmTp=&ltNmMh=1&txMlSh=&ltMlMh=0&ltScDp=0&ltPgCtSt=100&rbDp=0&_e_srh=

こちらのサイト を使って、アンエスケープしてみました。どうしてこんなエラーメッセージを送る必要があるのでしょうか?

"http://www.nite.go.jp/chem/chrip/chrip_search/srhInput?shMd=0&hdUpScPh=&cidLt=&strErrMsg0=ブラウザがHTML5に対応していません。&strErrMsg1=ファイルが選択されていません。&txNumSh=78-83-1 &ltNumTp=1&txNmSh=&ltNmTp=&ltNmMh=1&txMlSh=&ltMlMh=0&ltScDp=0&ltPgCtSt=100&rbDp=0&_e_srh="

エラーメッセージを空にしてみました。これでも検索結果は返ってきます。

http://www.nite.go.jp/chem/chrip/chrip_search/srhInput?shMd=0&hdUpScPh=&cidLt=&strErrMsg0=&strErrMsg1=&txNumSh=78-83-1&ltNumTp=1&txNmSh=&ltNmTp=&ltNmMh=1&txMlSh=&ltMlMh=0&ltScDp=0&ltPgCtSt=100&rbDp=0&_e_srh=

とりあえず、こんなコードを書いて動かしたところ、macのchromeでは3つのタブが開きました。

しかし、WindowsのIEだと一つが開いたところで、ループが止まってしまい、IEをとじると次のページが開きます。 困りました。

# -*- coding: utf-8 -*-
import webbrowser
url_org ='http://www.nite.go.jp/chem/chrip/chrip_search/srhInput?shMd=0&hdUpScPh=&cidLt=&strErrMsg0=%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8CHTML5%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82&strErrMsg1=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E9%81%B8%E6%8A%9E%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82&txNumSh=78-83-1++&ltNumTp=1&txNmSh=&ltNmTp=&ltNmMh=1&txMlSh=&ltMlMh=0&ltScDp=0&ltPgCtSt=100&rbDp=0&_e_srh='
cas_lst =['67-64-1','78-83-1','301-04-2']
for cas in cas_lst:
    url = url_org.replace('78-83-1', cas)
    webbrowser.open(url)
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3682/tbping

Raspberry Pi 3で侵入者を発見

by seko posted at 2016-04-03 16:22 last modified 2016-04-04 21:47

昨日何年かぶりに、秋葉原の秋月電子にいって、焦電型赤外線(人感)センサーモジュールを買ってきました。このセンサーは人の動きを検知します。人がいても動かなければ検出はされません。

http://akizukidenshi.com/img/goods/L/M-09002.jpg

http://akizukidenshi.com/catalog/g/gM-09002/

これをRaspberry Pi 3につないで、部屋に侵入者があったらgmailで知らせるpythonスクリプトを書きました。 15分間に動きを5回以上検知したら、メールを送ります。またWebサーバを立ち上げてあるので、ブラウザからも状況が確認できます。

なお、gmailのセキュリティが強化されたため、このスクリプトを動かすには、「安全性の低いアプリの許可を有効」にする必要がありました。通知専用のgmailアカウントを作ったほうが良さそうです。

https://myaccount.google.com/security?hl=ja

接続方法はこちらの通りです。 http://qiita.com/aryoa/items/72c40f241f868e25eb71

# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
from time import sleep
#import SimpleHTTPServer
#import SocketServer
import subprocess
import datetime
import os
import codecs
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

def send(from_addr, to_addr, msg):
    # defalt localhost:25
    s = smtplib.SMTP()
    s.sendmail(from_addr, [to_addr], msg.as_string())
    s.close()

def send_via_gmail(from_addr, to_addr, msg):
    s = smtplib.SMTP('smtp.gmail.com', 587)
    s.ehlo()
    s.starttls()
    s.ehlo()
    s.login('xxxxxx@gmail.com', 'passwd')
    s.sendmail(from_addr, [to_addr], msg.as_string())
    s.close()


def create_message2(from_addr, to_addr, subject, body, encoding):
    # create MIME document 'text/plain; charset="encoding"'
    msg = MIMEText(body, 'plain', encoding)
    msg['Subject'] = Header(subject, encoding)
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Date'] = formatdate()
    return msg

def create_indexhtml(mypath,body):
    print mypath , body
    o = codecs.open(os.path.join(mypath,'index.html'), 'w', 'utf-8')
    o.write(body)
    o.close()


### Main ###
from_addr = 'xxxxxx@gmail.com'
to_addr = 'xxxxxx@gmail.com'

threshold = 5 # per 15min
mypath = os.getcwd(

# start httpd
cmd = "python -m SimpleHTTPServer 8000"
proc = subprocess.Popen(cmd,
    shell = True,
    stdin = subprocess.PIPE,
    stdout = subprocess.PIPE,
    stderr = subprocess.PIPE)

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN)
try:
    cnt = 0
    sendflag = 0
    while True:
        cnt = cnt +  GPIO.input(18)
        print cnt
        if (sendflag == 0) and (cnt > threshold):
            body = nowtime.strftime("%Y/%m/%d %H:%M:%S") + u" 現在、部屋に人がいます"
            msg = create_message2(from_addr, to_addr, u'侵入者あり', body, 'ISO-2022-JP')
            send_via_gmail(from_addr, to_addr, msg)
            create_indexhtml(mypath,body)
            print body
            sendflag = 1
        sleep(1)
        nowtime = datetime.datetime.now()
        if nowtime.minute in [0, 15, 30, 45] and nowtime.second < 3:
            if sendflag == 0:
                body = nowtime.strftime("%Y/%m/%d %H:%M:%S") + u" 現在、誰もいません"
                create_indexhtml(mypath,body)
            cnt = 0
            sendflag = 0
except KeyboardInterrupt:
    pass

GPIO.cleanup()
Category(s)
python
tools
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3681/tbping

Docker コンテナをexportするpythonスクリプト

by seko posted at 2016-03-31 19:30 last modified 2016-03-31 21:59

docker exportを使ってコンテナの簡易バックアップをとるスクリプト

コンテナ名+曜日の番号のtgzファイルが生成されます。

バックアップの方法として、次のような方法を考えましたが、最初に2つはコンテナを止める必要があります。 これに対し、exportはコンテナを動かした状態で行えるので、この方法でいくことにしました。

  • commitしてイメージを作る
  • イメージをsaveする
  • exportする

pythonでパイプを含んだコマンド実行する方法をそのまま使わせていただきました。

http://ni66ling.hatenadiary.jp/entry/20150110

#!/usr/bin/env python 
import subprocess 
import datetime 
ret = subprocess.check_output(["docker","ps"]) 

def get_container_names(): 
    names=[] 
    ret = subprocess.check_output(["docker","ps"]) 
    for line in ret.split("\n")[1:-1]: 
        name = line.split(" ")[-1:][0] 
        names.append(name) 
    return names 

### Main ## 
mypath = "/home/docker/export/" 
d = datetime.datetime.now() 
ddd = d.weekday() 
print ddd 

for name in get_container_names(): 
    command = "docker export " + name + " | gzip > " + mypath + name + "_" + str(ddd)+".tgz" 
    proc = subprocess.Popen( 
    command, 
    shell  = True, 
    stdin  = subprocess.PIPE, 
    stdout = subprocess.PIPE, 
    stderr = subprocess.PIPE) 

stdout_data, stderr_data = proc.communicate() 
print stdout_data 
print stderr_data
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3679/tbping

pythonでバブルソート

by seko posted at 2016-03-24 18:00 last modified 2016-03-24 22:10

マカロニさんが amcharts の円グラフを書いている過程で、JSONデータを大きいもの順に並べたいという要望が出てきました。 今のpythonなら簡単に実現できるのですが、彼女の使っているZopeのバージョンが古かったり、Zopeの中で使えるpythonに制限が多いなどの問題があり、バブルソートによる並べ替えをゼロから書くはめになってしまいました。

lst =[['Nagoya',200],['Sendai',100],['Tokyo',1000],['Fukuoka',150]]
print lst
for i in range(len(lst)-1):
    for k in range(len(lst)-1):
        if lst[k][1] < lst[k +1][1]:
                lst[k], lst[k +1] = lst[ k +1], lst[ k]
                print i, k ,lst
[['Nagoya', 200], ['Sendai', 100], ['Tokyo', 1000], ['Fukuoka', 150]]
0 1 [['Nagoya', 200], ['Tokyo', 1000], ['Sendai', 100], ['Fukuoka', 150]]
0 2 [['Nagoya', 200], ['Tokyo', 1000], ['Fukuoka', 150], ['Sendai', 100]]
1 0 [['Tokyo', 1000], ['Nagoya', 200], ['Fukuoka', 150], ['Sendai', 100]]
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3676/tbping

指定月前の月はじめの日付を返すpython スクリプト

by seko posted at 2016-02-17 21:27 last modified 2016-02-17 21:27
実行結果
20160201
20160101
20151201
20151101
20151001
20150901
20150801
20150701
20150601
20150501
20150401
20150301
# -*- coding: utf-8 -*-
"""
Created on Wed Feb 17 19:22:13 2016
指定した月数分だけ過去の月初め日付をテキストで返す
@author: seko
"""

import datetime
def get_last_1st_day(month):
    """
    month >= 0
    return text as "20160101"
    """
    now = datetime.date.today()
    #now = datetime.date(2016,2,28)
    thisyear = now.year
    thismonth = now.month
    this_1st_day = datetime.date(thisyear,thismonth,1)
    if month == 0:
        return this_1st_day.strftime("%Y%m%d")
    else:
        for i in range(month):
            lastday = this_1st_day - datetime.timedelta(days =1)
            lastyear = lastday.year
            lastmonth =lastday.month
            last_1st_day = datetime.date(lastyear,lastmonth,1)
            this_1st_day = last_1st_day
        return last_1st_day.strftime("%Y%m%d")
    

for i in range(12):
    print get_last_1st_day(i)
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3673/tbping

AnacondaにVispy 動かない

by seko posted at 2016-01-27 20:49 last modified 2016-01-27 20:49

大量のデータを元にグラフを描くためにVispyのインストールを試みる。 ここ を見ながらやってみる。

condaでインストール

 # conda install -c https://conda.anaconda.org/anaconda vispy

Qt4が入っているが、

 >> print(vispy.sys_info())
 Platform: Darwin-14.5.0-x86_64-i386-64bit
 Python:   2.7.11 |Anaconda 2.4.1 (x86_64)| (default, Dec  6 2015, 18:57:58)  [GCC 4.2.1 (Apple Inc. build 5577)]
 Backend:  PyQt4
 pyqt4:    ('PyQt4', '4.11.4', '4.8.7')
 pyqt5:    None
 pyside:   None
 pyglet:   None
 glfw:     None
 sdl2:     None
 wx:       None
 egl:      None
 _test:    None

 GL version:  u'2.1 INTEL-10.0.35'
 MAX_TEXTURE_SIZE: 8192
 以下略

テストでエラーになってしまう。

 >>> import vispy
 >>> vispy.test()
 ----------------------------------------------------------------------
 Running tests with pyqt4 backend:
 _VISPY_TESTING_APP=pyqt4   -m vispy_app_test
 ============================= test session starts ==============================
 platform darwin -- Python 2.7.11, pytest-2.8.1, py-1.4.30, pluggy-0.3.1
 rootdir: /anaconda/lib/python2.7/site-packages, inifile: 
 collected 0 items / 1 errors
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3672/tbping

Fortranで書かれたデータ補間プログラムをpythonから使う

by seko posted at 2015-01-04 19:00 last modified 2015-01-09 22:57

Fortranのプログラムをpythonから利用するには2つの方法があるようです。

・ sci.pyに含まれるF2PY を使う

・ python2.5から追加された ctypes を使う

最初はF2PYを使おうと思ったのですが、FortranのソースコードにCf2pyという項目を追加する際に、他の行も字下げしなくてはならないらしく、面倒になってやめました。 今回は汎用性の高そうなctypesを いぐにさんにっき を見ながら使ってみます。

環境はCentOS7 64ビット版のgfortranとpython2.7です。

まず最初に bivar.f90 を共有ライブラリとしてコンパイルします。本当はソースにintent(in)やintent(out)を追加した方がいいのでしょうが、今回は何もしないで使ってみました。

$ gfortran -shared -fPIC -o bivar.so bivar.f90

pythonのプログラムは、bivar_prg.f90 と同じデータを使って補間してみます。引数はすべてポインタで渡すようです。Fortranの型の記述方法がいろいろあって標準化されてなかったり、ndarrayの型の設定方法がなかなかわからず苦労しました。

#!/usr/bin/env python
#vim:fileencoding=utf8
from ctypes import *
import numpy as np

bivar = np.ctypeslib.load_library("bivar.so",".") # Fortranのサブルーチン名"idbvip"にアンダースコア "_"をつける(gccでは) # 引数の型を指定する。bivar.f90のソースを見ながらtypeを合わせていく

bivar.idbvip_.argtypes = [ POINTER(c_int32), POINTER(c_int32), POINTER(c_int32), np.ctypeslib.ndpointer(dtype=np.float64), np.ctypeslib.ndpointer(dtype=np.float64), np.ctypeslib.ndpointer(dtype=np.float64), POINTER(c_int32), np.ctypeslib.ndpointer(dtype=np.float64), np.ctypeslib.ndpointer(dtype=np.float64), np.ctypeslib.ndpointer(dtype=np.float64), np.ctypeslib.ndpointer(dtype=np.int32), np.ctypeslib.ndpointer(dtype=np.float64),          ]

# 戻り値の型を指定する。Fortranのサブルーチンはvoidしか返せない ] bivar.idbvip_.restype = c_void_p

md = 1 ncp = 4 ndp = 20 nip = 5 xd = np.array([0.632000,0.295109,0.578769,0.140772,0.985549, 0.209717,0.893022,0.928088,0.766803,0.819351, 0.959191,0.516312,0.052801,0.626174,0.275320, 0.659645,0.396438,0.204824,0.906341,0.880356],dtype=np.float64) yd = np.array([0.918675, 0.821677, 0.962992, 0.477774, 0.056257, 0.654656, 0.377358, 0.263626, 0.706323, 0.584658, 0.154619, 0.986449, 0.197552, 0.924616, 0.788099, 0.886828, 0.945136, 0.643341, 0.335303, 0.416050],dtype=np.float64) zd = np.exp(xd)*np.sin(yd)

xi = np.array([0.0,0.25,0.5,0.75,1.0],dtype=np.float64) yi = np.array([1.0,0.75,0.5,0.25,0.0],dtype=np.float64) zi = np.arange(5,dtype="float64") iwk = np.arange(max(31,27+ncp)ndp+nip,dtype="int32") wk = np.arange(8ndp,dtype="float64")

# 整数はc_intの型でラップし、byrefでポインタにして渡す。ndarrayはそのまま渡してよい。 md = byref(c_int32(md)) ncp = byref(c_int32(ncp)) ndp = byref(c_int32(ndp)) nip = byref(c_int32(nip))

bivar.idbvip_( md, ncp, ndp, xd, yd, zd, nip, xi, yi, zi, iwk, wk ) print zi

実行結果はこのようになり、bivar_prg.f90と同じになっていることが確認できる。

$ python bivar_test.py 
[  6.92658195e-01   8.73380922e-01   9.76363425e-01   1.86218302e+00
   8.51520921e-04]

参考

bivar_prgの引数設定

  implicit none

integer ( kind = 4 ), parameter :: ncp = 4 integer ( kind = 4 ), parameter :: ndp = 20 integer ( kind = 4 ), parameter :: nip = 5

real ( kind = 8 ) error integer ( kind = 4 ) i integer ( kind = 4 ) iwk(max(31,27+ncp)ndp+nip) integer ( kind = 4 ) md real ( kind = 8 ) temp real ( kind = 8 ) wk(8ndp) real ( kind = 8 ), dimension ( ndp ) :: xd = (/ & 0.632000D+00, 0.295109D+00, 0.578769D+00, 0.140772D+00, 0.985549D+00, & 0.209717D+00, 0.893022D+00, 0.928088D+00, 0.766803D+00, 0.819351D+00, & 0.959191D+00, 0.516312D+00, 0.052801D+00, 0.626174D+00, 0.275320D+00, & 0.659645D+00, 0.396438D+00, 0.204824D+00, 0.906341D+00, 0.880356D+00 /) real ( kind = 8 ) xi(nip) real ( kind = 8 ), dimension ( ndp ) :: yd = (/ & 0.918675D+00, 0.821677D+00, 0.962992D+00, 0.477774D+00, 0.056257D+00, & 0.654656D+00, 0.377358D+00, 0.263626D+00, 0.706323D+00, 0.584658D+00, & 0.154619D+00, 0.986449D+00, 0.197552D+00, 0.924616D+00, 0.788099D+00, & 0.886828D+00, 0.945136D+00, 0.643341D+00, 0.335303D+00, 0.416050D+00 /) real ( kind = 8 ) yi(nip) real ( kind = 8 ) zd(ndp) real ( kind = 8 ) zi(nip)

Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3650/tbping

Fortranのデータ補間プログラムをコンパイルしてみる

by seko posted at 2015-01-04 18:19 last modified 2015-01-09 22:59

次のページにあるAkima補間というプログラムをpythonから使いたいという相談を受けた。

http://people.sc.fsu.edu/~jburkardt/f_src/toms526/bivar.html

まずは、使い方を知るためにCentOS7上のFortranでコンパイルするところから始める。

使いたいプログラムは bivar.f90 でコンパイルの仕方は、bivar.sh に書いてある。

f90splitというのはFortranで書かれたプログラムで、ソースコードを関数ごとに分解するものらしい。必要性がよくわからないが、ここ からダウンロードしてf90split.shでコンパイルしておく。

bivar.sh の中身はこのようになっている。echo $ARCH と打ってみるが何も設定されていないので、コンソールからexport ARCH="i686" と打って設定しておく。 ホームディレクトリに bin/i686 や lib/i686を予め作っておく。f90splitやbivar.f90を適切なディレクトリに置いて、bivar.shを実行する。

#!/bin/bash
#
mkdir temp
cd temp
rm 
~/bin/$ARCH/f90split ../bivar.f90
#
for FILE in `ls -1 .f90`;
do
  gfortran -c $FILE
  if [ $? -ne 0 ]; then
    echo "Errors compiling " $FILE
    exit
  fi
done
rm .f90
#
ar qc libbivar.a .o
rm *.o
#
mv libbivar.a ~/lib/$ARCH
cd ..
rmdir temp
#
echo "Library installed as ~/lib/$ARCH/libbivar.a"

次にbivar.f90の動作を確認するために bivar_prb.f90 をダウンロード。ソースコードの中にある call timestamp ( )をコメントアウトした後、bivar_prb.sh を実行してbivar_prb_output.txtが出力されればOK。

Category(s)
python
tools
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3651/tbping

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: