J'ai le code suivant:Envoi gros fichier à l'entrée PIPE en python
sourcefile = open(filein, "r")
targetfile = open(pathout, "w")
content= sourcefile.read():
p = Popen([SCRIPT], stdout=targetfile, stdin=PIPE)
p.communicate(content)
sourcefile.close()
targetfile.close()
Les données en sourcefile est assez grand, donc il faut beaucoup de mémoire/swap pour le stocker dans le « contenu ». J'ai essayé d'envoyer le fichier directement à stdin avec stdin = sourcefile, qui fonctionne à l'exception du script externe 'se bloque', c'est à dire: continue à attendre un EOF. Cela peut être un bug dans le script externe, mais c'est hors de mon contrôle pour l'instant ..
Un conseil sur la façon d'envoyer le fichier volumineux à mon script externe?
Il est très étrange que le script externe se bloque si vous fournissez directement le descripteur de fichier. Est-ce qu'il se bloque également lorsque vous l'exécutez depuis le terminal: 'script < infile > outfile'? – rkhayrov