Bonjour, j'ai un souci avec un io.BufferedReader qui se ferme tout seul!
Je n'ai pas trouvé de solution sur le net, j'ose donc poster un nouveau sujet, j’espère.

Le code simplifié du problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
import io
import os
 
def read():
    class BufferedReader(io.BufferedReader):
        def __init__(self, *args, **kwargs):
            io.BufferedReader.__init__(self, *args, **kwargs)
        def __del__(self):
            os.remove(self.name)
 
    with open("fichier", "wb") as f:
        f.write(b"voici le contenu du fichier...")
 
    flux = open("fichier", mode="rb")
    f = BufferedReader(flux.raw)
 
    print(f.read(5)) # affiche b'voici', donc c'est bon le fichier est ouvert
    return f
 
f = read()
print(f.read(5)) # retourne ValueError: read of closed file
Je ne comprend pas pourquoi le fichier se ferme? Une idée de remède?