pythonでのコーディングは便利でいいですが、やはりmelにはmelの良さがあるし、melのほうが手っ取り早いこともあります。
ただ、melはやっぱりpythonと比べると、文字分割関連がめんどくさい…。
たとえば、文字列…
"aaa/bbb/ccc.bmp"
で、"bbb"を抜き出したい場合、おそらく普通にmelでコーディングすると…
string $temp[] = stringToSTringArray("aaa/bbb/ccc.bmp","/");
string $result = $temp[1] ;
など、stringToStringArrayを使わない場合でも、一度配列に出してから抜き出さないと、だと思います。
今日試してみたのが、pythonを挟む方法です。
string $result = python('aaa/bbb/ccc.bmp'.split('/')[-2]);
…一行で済むというね!
しばらくこちらを試してみようと思います。
2016年6月19日日曜日
pythonソース もう一度importするには??
melのsourdeと違って、pythonの場合、ソースを更新して再度importコマンドを行っても更新されることがありません。
この場合、reload()関数を使うと解決できます。
⇒reload関数()
ほかにも、読み込んだモジュールを削除して再度importする方法を採用している方もいるようです。
⇒.pyファイルの再import
とくにもんだいなければ、reload関数を使うのがよさそうです。
この場合、reload()関数を使うと解決できます。
⇒reload関数()
ほかにも、読み込んだモジュールを削除して再度importする方法を採用している方もいるようです。
⇒.pyファイルの再import
とくにもんだいなければ、reload関数を使うのがよさそうです。
2016年6月17日金曜日
melで、指定パス以下のフォルダ・ファイル階層を取得する。
子供が熱でた~ … ということで、家で作業しております。
Toolを作っている際、データ集合をフォルダ階層に分けて管理・Tool上にそのツリーを表示したい…などというケースは少なくないと思います。
簡単ですが、再帰処理による、「指定パス以下のフォルダ・ファイル階層を取得するmel」を作成しました。
メモ代わりに貼り付けます。
treeListerかなんかでフォルダを列挙したいときなんか便利かも。
Toolを作っている際、データ集合をフォルダ階層に分けて管理・Tool上にそのツリーを表示したい…などというケースは少なくないと思います。
簡単ですが、再帰処理による、「指定パス以下のフォルダ・ファイル階層を取得するmel」を作成しました。
メモ代わりに貼り付けます。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
proc string[] GetFileListByPath(string $path){ | |
string $fileList[] = `getFileList -fld $path`; | |
string $returnList[]; | |
for($data in $fileList){ | |
$data = $path+$data; | |
if(`filetest -f $data`) $returnList[size($returnList)]=$data; | |
if(`filetest -d $data`) $returnList = stringArrayCatenate($returnList,`GetFileListByPath($data+"/")`); | |
} | |
print $returnList; | |
return $returnList; | |
} |
2016年6月12日日曜日
任意のフォルダのpythonファイルをimport コマンドから持ってくる
Toolのソースを、特定のフォルダの特定階層に整理したいのに、melファイルのsourceコマンドとは違って、pythonのimportコマンドは、あらかじめpythonパスが通っているところしか見てくれない。
そういう場合は、環境変数に書き込むか、一時的リリースのToolなんかだったら、一時的にpythonパスをソースから追加することでインポートが可能です。
サンプルソース;
これでpythonパスを一時的に追加できるので、この後importコマンドを走らせればいい
そういう場合は、環境変数に書き込むか、一時的リリースのToolなんかだったら、一時的にpythonパスをソースから追加することでインポートが可能です。
サンプルソース;
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
def append_PythonPath(PyPath=None): | |
sys.path.append(PyPath) | |
append_PythonPath('任意のパス') |
登録:
投稿 (Atom)