SST Lab Dokuwiki Header header picture

ユーザ用ツール

サイト用ツール


seminar:プログラミング実習

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
seminar:プログラミング実習 [2020/08/20 17:25] – [リダイレクト] kimiseminar:プログラミング実習 [2020/08/20 17:31] – [Pythonガイド] kimi
行 21: 行 21:
     * ruby     * ruby
     * python     * python
 +===== リダイレクト ===== 
 +プログラム「moge_exec」に、ファイル「hoge_in.data」から入力を読み込んで、出力をファイル「hage_out.data」に書き込むには 
 +<code sh> 
 +$ ./moge_exec < hoge_in.data > hage_out.data  
 +</code> 
 +または 
 +<code sh> 
 +$ cat hoge_in.data | ./moge_exec > hage_out.data  
 +</code> 
 +とする。
 ===== シェルスクリプト ===== ===== シェルスクリプト =====
  
行 80: 行 89:
  
 ===== Pythonガイド ===== ===== Pythonガイド =====
-  * [[python実用スクリ]]+ASEを用いてDacapoによる計算を行うためには、若干のPythonの知識が必要です。 Pythonはオブジェクト指向の汎用言語で覚えておくと非常に便利なものです。 インタープリタとして実装されているため速度面ではcやFORTRANに比べて不利ですが、非常に柔軟な拡張性を持っており、各種モジュールを読み込むことによりVTKを使った描画から、RasMolやGnuPlotの自動実行までも行うことができます。 変数宣言がいらないこと、インタープリタでその場で試しながらプログラムを書いたりデバッグしたりできること、簡単な手順でグラフィックスを扱うことができることなどを考え合わせると、現代版BASICといった趣もあります。 
 + 
 + 
 +  * [[:python_seminor|即席ヘビ使い講座]] 
 +  * ファイル名は''○○○○.py''にする。 
 +  * ターミナルで<code> 
 +python ○○○○.py  
 +</code>と入力することにより行される。 
 + 
 +  * VTKやRasMol, GnuPlotで描画する場合は<code> 
 + $ python -i ○○○○.py  
 +</code>のように、''-i''をつけること。<fc #ff0000>これをつけないと絵を描く前にログラムが終了してしまう</fc>。 
 + 
 + 
 +==== Pythonで「コマンド」をつくるときの雛形 ==== 
 +<code python> 
 +#!/usr/bin/env python 
 +from optparse import OptionParser 
 + 
 +cmd = OptionParser(usage = '%prog [-t[-p X Y Z] input_file output_file'
 + 
 +cmd.add_option('-t', '--toggle', action = "store_true", default = False, 
 +               help = 'ON/OFFを与えるだけのオプション'
 + 
 +cmd.add_option('-p', '--position', type = 'int', nargs = 3, 
 +               help = 'オプションとして3個の整数X Y Zを与える', 
 +               metavar = 'X Y Z') 
 + 
 +(opt, argv) = cmd.parse_args() 
 + 
 +if len(argv) != 2: 
 +    cmd.print_help() 
 +    raise SystemExit 
 + 
 +input_file = argv[0] 
 +output_file = argv[1] 
 +option_on_off = opt.toggle 
 +option_xyz = opt.position 
 + 
 +</code> 
 + 
 +----
  
 +詳細は[[:python_seminor |即席ヘビ使い講座]]を参照のこと。
  
 ===== FORTRAN簡単ガイド ===== ===== FORTRAN簡単ガイド =====
seminar/プログラミング実習.txt · 最終更新: 2023/03/01 15:09 by kimi

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki