référence sur this question, j'ai même -mais pas le problème excursionnistes ..La meilleure façon de récupérer les valeurs des variables à partir d'un fichier texte - Python - JSON
Sur mon chemin, je vais avoir un certain fichier texte, structuré comme:
var_a: 'home'
var_b: 'car'
var_c: 15.5
et j'ai besoin que python lire le fichier, puis créer une variable nommée var_a avec la valeur « maison », et ainsi de suite.
Exemple:
#python stuff over here
getVarFromFile(filename) #this is the function that im looking for
print var_b
#output: car, as string
print var_c
#output 15.5, as number.
Est-ce possible, je veux dire, même garder le type var?
Notez que j'ai toute la liberté de la structure du fichier texte, je peux utiliser le format que j'aime si celui que j'ai proposé n'est pas le meilleur.
EDIT: le ConfigParser peut être une solution, mais je ne l'aime pas tellement, parce que dans mon script que je vais devoir alors de se référer aux variables dans le fichier avec
config.get("set", "var_name")
Mais ce que j'adorerai, c'est de me référer directement à la variable, comme je l'ai déclaré dans le script python ...
Il existe un moyen d'importer le fichier en tant que dictionnaire python? Oh, dernière chose, gardez à l'esprit que je ne sais pas exactement combien de variables aurais-je dans le fichier texte. : Je m'intéresse beaucoup à la solution JSON de stephan, car de cette façon le fichier texte peut être lu simplement avec d'autres langages (PHP, puis via JavaScript AJAX, par exemple), mais j'échoue dans quelque chose en agissant cette solution:
#for the example, i dont load the file but create a var with the supposed file content
file_content = "'var_a': 4, 'var_b': 'a string'"
mydict = dict(file_content)
#Error: ValueError: dictionary update sequence element #0 has length 1; 2 is required
file_content_2 = "{'var_a': 4, 'var_b': 'a string'}"
mydict_2 = dict(json.dump(file_content_2, True))
#Error:
#Traceback (most recent call last):
#File "<pyshell#5>", line 1, in <module>
#mydict_2 = dict(json.dump(file_content_2, True))
#File "C:\Python26\lib\json\__init__.py", line 181, in dump
#fp.write(chunk)
#AttributeError: 'bool' object has no attribute 'write'
En quel type de problème puis-je tomber au format JSON? Et, comment puis-je lire un tableau JSON dans un fichier texte, et le transformer dans un dict python?
P.S: Je n'aime pas la solution utilisant les fichiers .py; Je préférerais .txt, .inc, .que ce n'est pas restrictif à une langue.
Vous ne pouvez pas gérer sans n'importe quels modules d'importation ... vous pouvez gérer avec le module sys, mais ce ne serait pas aussi bien que les autres solutions suggérées :) – workmad3
ok, ce n'est pas un gros problème – Strae
concernant votre Edit2: vous voulez the_dict = json.loads ('{"var_a": 4, "var_b": "une chaîne"}'). Pls note que j'ai changé "et" – stephan