/ / Python: Impossible d'ouvrir et d'écrire dans le fichier à partir du thread - Python, multithreading

Python: impossible d'ouvrir et d'écrire dans le fichier à partir du thread - Python, multithreading

J'essaie de créer / ouvrir et d'écrire dans un fichier à partir d'un fil.

from threading import Thread


CONNECTION_PORT = 9191

def testl():
file = open("testfile.txt","w")
file.write("Hello World")
file.write("This is our new text file")
file.write("and this is another line.")
file.write("Why? Because we can.")

file.close()

def test():
t = Thread(target=testl)
# t.daemon = True
t.start()


test()

Le problème est que lorsque je supprime la 2e ligne (t.daemon = True) de la fonction de test, elle cesse de fonctionner. Est-il possible de le faire fonctionner en mode thread daemon?

Je ne peux "trouver aucune solution sur Internet ou même liée à cela. Je sais que ce n'est pas la meilleure façon de gérer les fichiers.

Réponses:

0 pour la réponse № 1

Un thread démon signifie que python n'a pas besoin d'attendre la fin du thread avant la fin du programme. Donc, ce qui se passe est:

  • test() commence le fil

  • test() se termine, et le fil contenant test() (le fil principal probablement) se termine

  • Il n'y a pas de threads non-démon

  • python sort.

Je ne pense pas vraiment que vous souhaitiez que le fil soit un fil de démon. Si vous le faites, vous devriez avoir un appel de thread non-démon t.join() afin que vous attendiez que ce fil se termine.