私が作成しているプログラムでは、threading.Thread
オブジェクトをファイルに書き込む必要があるため、後で使用することができます。これをどうやってやりますか?オブジェクトを後で使用するためにファイルに書き込む方法を教えてください。
0
A
答えて
1
pickle
モジュールを使用できますが、動作させるにはいくつかの機能を実装する必要があります。これは、オペレーティングシステムによって処理され、意味のある方法でシリアル化することができないスレッド自体ではなく、スレッド内で行われている処理の状態を保存することを前提としています。
import pickle
...
class MyThread(threading.Thread):
def run(self):
... # Add the functionality. You have to keep track of your state in a manner that is visible to other functions by using "self." in front of the variables that should be saved
def __getstate__(self):
... # Return a pickable object representing the state
def __setstate__(self, state):
... # Restore the state. You may have to call the "__init__" method, but you have to test it, as I am not sure if this is required to make the resulting object function as expected. You might run the thread from here as well, if you don't, it has to be started manually.
状態保存するには:状態をロードするには
pickle.dump(thread, "/path/to/file")
を:
thread = pickle.load("/path/to/file")
0
pickle
モジュールを使用してください。これは、Python型の保存を可能にします。
関連する問題
- 1. デュプレックスストリームに書き込む方法を教えてください。
- 2. Kdbでテキストファイルに書き込む方法を教えてください。
- 3. テキストを後でdocxファイルに書き込む方法を教えてください。
- 4. これをKorn Shellに書き込む方法を教えてください。
- 5. イベントマシンサーバーにデータを書き込む方法を教えてください。
- 6. インストーラをHKCUレジストリツリーに書き込む方法を教えてください。
- 7. SpecFlow機能にコメントを書き込む方法を教えてください。
- 8. Log4NetをコンソールアプリケーションのEventLogに書き込む方法を教えてください。
- 9. 印刷ジョブイメージをディスクに書き込む方法を教えてください。
- 10. このクエリをMySQLに書き込む方法を教えてください。
- 11. カスタムWindowsイベントログに書き込む方法を教えてください。
- 12. node.jsを使って結果をファイルに書き込む方法を教えてください。
- 13. StackExchange.Redisを使用してスレーブに書き込む方法を教えてください。
- 14. NativeActivityを使用して内部ストレージファイルシステムに書き込む方法を教えてください。
- 15. FloatingActionButtnにイメージを埋め込む方法を教えてください。
- 16. QLabelのスペースにテキストを埋め込む方法を教えてください。
- 17. YouTubeをCSS3に埋め込む方法を教えてください。
- 18. Googleマップをアクティビティに埋め込む方法を教えてください。
- 19. PHPをファイルに自動的に書き込む方法を教えてください。
- 20. TagLib-Sharpを使用してカスタム(PRIV)ID3フレームを書き込む方法を教えてください。
- 21. 展開時にcapistranoが.rvmrcファイルを書き込む方法を教えてください。
- 22. 埋め込みオブジェクトに自然なサイズを使用させる方法を教えてください。
- 23. Python 3:複数のプロセスから同じファイルに書き込む方法を教えてください。
- 24. robocopyでファイルを上書きする方法を教えてください
- 25. golangでオブジェクトを作成した後にメソッドを使用する方法を教えてください。
- 26. 辞書要素を順番に書き込む方法を教えてください。
- 27. このANDおよび/またはSQL文をSQLに書き込む方法を教えてください。
- 28. 別の辞書を同じファイルにダンプして読み込む方法を教えてください。
- 29. AmazonでホストされているサイトにiFrameを埋め込む方法を教えてください。
- 30. ウィンドウサービスがイベントログにメッセージを正しく書き込む方法を教えてください。
あなたは基本的には無意味であるファイルへのスレッドを書き込むことはできません。スレッドが持っている状態を保存したいのであれば、 'pickle'モジュールを使うことができますが、' pickle'にあなたが使っているクラスの中で何をすべきかを伝えるいくつかの機能を実装しなければならないでしょう。あなたがそれで関数をラップしているなら、あなたは遠くにいないでしょう。あなたはクラスを書く必要があります。 – CodenameLambda
@CodingLambdasええ、私はpickleモジュールを使いましたが、 'TypeError:serializeできません '_io.TextIOWrapper' object' –
@CodingLambdasクラスを作成しようとしましたが、 –