4Dの外部プロセスコマンドについて。
3 posters
4Dの外部プロセスコマンドについて。
現在4Dで為替や株価の更新情報をネットから拾ってきて、4Dのデータを更新するようなプログラムを書いています。
1−4D側で更新する情報の掲載されているURLをリストで外部テキストファイルへ書き出す(4D)
2−PYTHONで4Dから指定されたURLへアクセスし、必要な情報を 外部テキストファイルに書き足す。(PYTHON作業)
3−PYTHON側で作業が終わったのを確認して、更新された情報を外部テキスファイルから4Dへ取り込むと行った 作業で進めてきました。
4D側の作業、 PYTHON側の作業は目処がついたのですが、 1−2 の作業で、4D側からPYTHON のスクリプトを起動できないで困っております。
LAUNCH EXTERNAL PROCESS("open -a /Users/myname/.pyenv/shims/python3 /Users/myname/Downloads/20220714.py") のように
LAUNCH EXTERNAL PROCESS("open -a プログラム名 開きたいファイル") などと試したのですがXです
LAUNCH EXTERNAL PROCESS("open -a /System/Applications/Utilities/Terminal.app ") ではターミナルアプリは起動出来るのですが、ターミナルアプリ内に
Users/myname/.pyenv/shims/python3 /Users/myname/Downloads/20220714.py を打ち込む方法などないのでしょうか?
それとも、そもそも、私の考えている、一部4D-外部で処理ー4Dに戻って処理の継続などは無理なのでしょうか? ヒントをいただけると有りがたく思います。
1−4D側で更新する情報の掲載されているURLをリストで外部テキストファイルへ書き出す(4D)
2−PYTHONで4Dから指定されたURLへアクセスし、必要な情報を 外部テキストファイルに書き足す。(PYTHON作業)
3−PYTHON側で作業が終わったのを確認して、更新された情報を外部テキスファイルから4Dへ取り込むと行った 作業で進めてきました。
4D側の作業、 PYTHON側の作業は目処がついたのですが、 1−2 の作業で、4D側からPYTHON のスクリプトを起動できないで困っております。
LAUNCH EXTERNAL PROCESS("open -a /Users/myname/.pyenv/shims/python3 /Users/myname/Downloads/20220714.py") のように
LAUNCH EXTERNAL PROCESS("open -a プログラム名 開きたいファイル") などと試したのですがXです
LAUNCH EXTERNAL PROCESS("open -a /System/Applications/Utilities/Terminal.app ") ではターミナルアプリは起動出来るのですが、ターミナルアプリ内に
Users/myname/.pyenv/shims/python3 /Users/myname/Downloads/20220714.py を打ち込む方法などないのでしょうか?
それとも、そもそも、私の考えている、一部4D-外部で処理ー4Dに戻って処理の継続などは無理なのでしょうか? ヒントをいただけると有りがたく思います。
OiwakeCoco- 投稿数 : 1
登録日 : 2022/07/15
Re: 4Dの外部プロセスコマンドについて。
はじめまして、20220714.py に実行権限を与えて、
同期実行ならPythonでの標準出力は、$outputStreamに入ってくるので状況なども4D側で確認できます。
処理時間がかかるなら非同期実行でしょうけど、その場合は特定パスに結果が書き込まれるのを4D側で監視する等の処理が必要です。
- Code:
$cmd:="/Users/myname/Downloads/20220714.py"
LAUNCH EXTERNAL PROCESS($cmd;$inputStream;$outputStream;$errorStream)
同期実行ならPythonでの標準出力は、$outputStreamに入ってくるので状況なども4D側で確認できます。
処理時間がかかるなら非同期実行でしょうけど、その場合は特定パスに結果が書き込まれるのを4D側で監視する等の処理が必要です。
osaru- 投稿数 : 67
登録日 : 2017/08/14
Re: 4Dの外部プロセスコマンドについて。
pythonをプラグインにしたものですが,役に立ちそうでしょうか
https://github.com/miyako/4d-plugin-python
ダウンロードはReleasesから
ちょっと例題がわかりづらいですが,要するにpythonのソースコードをそのままテキストで渡します。
そのpythonの中で
みたいにするとプロジェクトメソッドが呼べます。
https://github.com/miyako/4d-plugin-python
ダウンロードはReleasesから
ちょっと例題がわかりづらいですが,要するにpythonのソースコードをそのままテキストで渡します。
そのpythonの中で
- Code:
import fourd
d = {"foo":"bar"};
fourd.call("cb_test", d);
みたいにするとプロジェクトメソッドが呼べます。
miyako- 投稿数 : 487
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可