Çalışma zamanında yeni işlem tarafından hangi işlevin çalıştırılacağına karar vermenin bir yolu var mı? Ben programı çalıştırdığınızdaÇok işlevli işlem için çalışma zamanı işlevi hedefi.Process
varsayalım ben şimdi 2 fonksiyon
def f():
print("In f")
def g():
print("In g")
func_name = str(input("enter function to be run = "))
multiprocessing.Process(target = func_name, args =()).start()
var (multiprocessing.Process
tarafından oluşturulan) Bu bana hata verir
enter function to be run = f
TypeError: 'str' object is not callable
Bu apaçık görünüyor çünkü işlevin adı eşleşmeli, ancak bu durumda addeğişkeninde Bir dize olarak.
için ikinci bir argüman olarak verilebilecek varsayılan bir işleviniz olabilir. Bunu yapamam. Kodun yazılmasından önce, kaç tane fonksiyonun ve isimlerinin yazıldığını göremiyorum. Kullanıcı herhangi bir isimle herhangi bir sayıyı verebilir ve bunları çalıştırmak için kodu sorabilir. Çok işlem için bir sarıcı gibi. – Haris
@Haris: Bunun yerine * globals(). Get (func_name) 'yi kullanabilirsiniz. – zondo
Büyü. Aweome adam. :) Çok teşekkürler. – Haris