J'ai besoin d'une méthode pour obtenir les données d'un éditeur externe.Obtention de données à partir d'un programme externe
def _get_content():
from subprocess import call
file = open(file, "w").write(some_name)
call(editor + " " + file, shell=True)
file.close()
file = open(file)
x = file.readlines()
[snip]
Personnellement, je pense qu'il devrait y avoir une manière plus élégante. Vous voyez, j'ai besoin d'interagir avec un éditeur externe et d'obtenir les données.
Connaissez-vous de meilleures approches/de meilleures idées?
EDIT:
Marcelo m'a amené à l'idée d'utiliser tempfile
pour le faire.
Voilà comment je le fais:
def _tempfile_write(input):
from tempfile import NamedTemporaryFile
x = NamedTemporaryFile()
x.file.write(input)
x.close()
y = open(x)
[snip]
Ce fait le travail, mais aussi pas tout à fait satisfaisant. Entendu quelque chose au sujet du frai? ..
Votre question est assez vague. Qu'est-ce que vous essayez exactement d'accomplir et que trouvez-vous laid à propos de cette approche? Est-ce que "j'ai besoin de l'utilisateur pour taper du texte et obtenir ce texte comme une chaîne"? Est-ce que "j'ai besoin de l'utilisateur pour éditer un fichier préexistant"? Demandez-vous comment générer un nouveau processus d'édition ou comment obtenir des informations de l'utilisateur? – RarrRarrRarr
Je parle de l'obtention de l'entrée de l'utilisateur. :) J'avoue que moche n'est pas le bon mot ... peut-être en train de dire, je cherche une façon plus élégante de le faire (s'il y en a). –