[解決済み] スレッド化したり、別のファイルやスクリプトを書くことなく、サブプロセスで関数を実行することは可能ですか?
2023-03-08 10:45:47
質問
import subprocess
def my_function(x):
return x + 100
output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments
print output
#desired output: 101
私は、別々のスクリプトを使用してサブプロセスを開くことについてのドキュメントしか見つけられませんでした。誰か関数オブジェクトを渡す方法、あるいは関数コードを渡す簡単な方法を知っていますか?
どのように解決するのですか?
マルチプロセッシングモジュールのようなものをお探しなのでしょう。
http://docs.python.org/library/multiprocessing.html#the-process-class
subprocess モジュールはプロセスを生成し、その入出力で何かを行うためのもので、関数を実行するためのものではありません。
ここでは
multiprocessing
のバージョンです。
from multiprocessing import Process, Queue
# must be a global function
def my_function(q, x):
q.put(x + 100)
if __name__ == '__main__':
queue = Queue()
p = Process(target=my_function, args=(queue, 1))
p.start()
p.join() # this blocks until the process terminates
result = queue.get()
print result
関連
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Django filter queryset __in for *every* item in list
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複