seminar:プログラミング実習
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
seminar:プログラミング実習 [2020/08/20 17:30] – [Python実用スクリプト] kimi | seminar:プログラミング実習 [2020/08/20 17:44] – [実用データ処理] kimi | ||
---|---|---|---|
行 21: | 行 21: | ||
* ruby | * ruby | ||
* python | * python | ||
+ | |||
+ | ====== 自分用のコマンドを作る ====== | ||
+ | |||
+ | <code sh> | ||
+ | $ mkdir ~/bin | ||
+ | $ cd bin | ||
+ | (ファイルgetatomsをつくる) | ||
+ | $ ls -l getatoms | ||
+ | -rw-r--r-- | ||
+ | $ chmod a+x getatoms | ||
+ | $ ls -l getatoms | ||
+ | -rwxr-xr-x | ||
+ | $ cd | ||
+ | $ getatoms | ||
+ | usage: getatoms [-r R1 R2 R3] input_nc_file output_xyz_file | ||
+ | </ | ||
+ | |||
===== リダイレクト ===== | ===== リダイレクト ===== | ||
プログラム「moge_exec」に、ファイル「hoge_in.data」から入力を読み込んで、出力をファイル「hage_out.data」に書き込むには | プログラム「moge_exec」に、ファイル「hoge_in.data」から入力を読み込んで、出力をファイル「hage_out.data」に書き込むには | ||
行 91: | 行 108: | ||
ASEを用いてDacapoによる計算を行うためには、若干のPythonの知識が必要です。 Pythonはオブジェクト指向の汎用言語で覚えておくと非常に便利なものです。 インタープリタとして実装されているため速度面ではcやFORTRANに比べて不利ですが、非常に柔軟な拡張性を持っており、各種モジュールを読み込むことによりVTKを使った描画から、RasMolやGnuPlotの自動実行までも行うことができます。 変数宣言がいらないこと、インタープリタでその場で試しながらプログラムを書いたりデバッグしたりできること、簡単な手順でグラフィックスを扱うことができることなどを考え合わせると、現代版BASICといった趣もあります。 | ASEを用いてDacapoによる計算を行うためには、若干のPythonの知識が必要です。 Pythonはオブジェクト指向の汎用言語で覚えておくと非常に便利なものです。 インタープリタとして実装されているため速度面ではcやFORTRANに比べて不利ですが、非常に柔軟な拡張性を持っており、各種モジュールを読み込むことによりVTKを使った描画から、RasMolやGnuPlotの自動実行までも行うことができます。 変数宣言がいらないこと、インタープリタでその場で試しながらプログラムを書いたりデバッグしたりできること、簡単な手順でグラフィックスを扱うことができることなどを考え合わせると、現代版BASICといった趣もあります。 | ||
- | * [[python実用スクリプト]] | ||
* [[: | * [[: | ||
- | |||
* ファイル名は'' | * ファイル名は'' | ||
- | |||
* ターミナルで< | * ターミナルで< | ||
- | $ python ○○○○.py | + | $ python ○○○○.py </ |
- | </ | + | |
* VTKやRasMol, | * VTKやRasMol, | ||
$ python -i ○○○○.py | $ python -i ○○○○.py | ||
</ | </ | ||
+ | |||
+ | |||
+ | ==== Pythonで「コマンド」をつくるときの雛形 ==== | ||
+ | <code python> | ||
+ | # | ||
+ | from optparse import OptionParser | ||
+ | |||
+ | cmd = OptionParser(usage = '%prog [-t] [-p X Y Z] input_file output_file' | ||
+ | |||
+ | cmd.add_option(' | ||
+ | help = ' | ||
+ | |||
+ | cmd.add_option(' | ||
+ | help = ' | ||
+ | | ||
+ | |||
+ | (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 | ||
+ | |||
+ | </ | ||
---- | ---- |
seminar/プログラミング実習.txt · 最終更新: 2023/03/01 15:09 by kimi