Pythonでバックグラウンドでファイルを書き込む
ここでは、一度に2つのタスクを実行しようとしています。1つはフォアグラウンドで、もう1つはバックグラウンドで実行します。バックグラウンドでファイルに何かを書き込み、ユーザー入力番号を入力して、それが奇数か偶数かを調べます。
Pythonの1つのプログラムで複数のタスクを実行するには、
のマルチスレッドを使用します。import threading import time class AsyncWrite(threading.Thread): def __init__(self, text, out): threading.Thread.__init__(self) self.text = text self.out = out def run(self): f = open(self.out, "a") f.write(self.text + '\n') f.close() time.sleep(3) print ("Finished Background file write to " + self.out) def Main(): message = input("Enter a string to store:" ) background = AsyncWrite(message,'out.txt') #print threading.enumerate() background.start() print ("The program can continue while it writes in another thread") num = int(input("Entered number is : ")) if (num%2==0): print("Entered number is Even") else: print("Entered number is ODD") background.join() print ("Waited until thread was complete") # print (threading.enumerate()) if __name__ == '__main__': Main()
出力
Enter a string to store:Tutorialspoint The program can continue while it writes in another thread Entered number is : 33 Entered number is ODD Finished Background file write to out.txt Waited until thread was complete
-
Pythonでの二分木の直径
二分木があるとしましょう。木の直径の長さを計算する必要があります。二分木の直径は、実際には、ツリー内の任意の2つのノード間の最長パスの長さです。このパスは必ずしもルートを通過する必要はありません。したがって、ツリーが以下のようになっている場合、パスの長さ[4,2,1,3]または[5,2,1,3]は3であるため、直径は3になります。 これを解決するには、次の手順に従います- dfsを使用して直径を見つけ、答えを設定します:=0 ルートdfs(root)を使用してdfs関数を呼び出します dfsは以下のdfs(node)のように機能します ノードが存在しない場合は、0を返します 左
-
Pythonでの継承
この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen