J'ai créé un fichier de configuration avec Python

J'ai créé un fichier de configuration basé sur Python

J'ai utilisé différents formats de fichiers, mais la lisibilité est faible sauf pour json, yaml et toml. Json était mécontent de ne pas pouvoir écrire de commentaires et n'était pas satisfait de ne pas pouvoir saisir d'expressions lambda, alors je l'ai fait.

pyson.py


import sys
import argparse

class File(dict):
    @classmethod
    def Load(cls,path):
        data = None
        with open(path,'r',encoding="utf-8") as fln:
            var = []
            for f in fln.read():
                if(f.strip() == "" or f.strip()[0:1] == '#' or f.strip().split('(')[0] == '__import__'):
                    continue
                else:
                    var.append(f)
            data = cls.__Ld(var)
        ret = eval(data)
        return ret

    @classmethod
    def __Ld(cls,var):
        ret = ""
        for val in var:
            ret += val
        return ret

load = File.Load

Classes.pyson


{
    "Vector3":lambda:[0 for var in range(3)],
    "Vector4":lambda:[0 for var in range(4)],
    "Matrix3x3":lambda:[[0 for x in range(3)]for y in range(3)],
    "Matrix4x4":lambda:[[0 for x in range(4)]for y in range(4)],
    #Matrice unitaire
    "Identity":lambda mat:[[1 if x==y else 0 for x in range(len(mat[y]))]for y in range(len(mat))],
    "is_liveing":True
}

Setting.pyson


(
    "1",True,3.5
)

app.py


import pyson
ldfil = pyson.load("Classes.pyson")
stngfil = pyson.load("Setting.pyson")
mat = ldfil["Identity"](ldfil["Matrix4x4"]())
print("Matrice unitaire(4x4):",mat)
print("Peut être mis en place?:",stngfil[1])
Matrice unitaire(4x4):[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]
Peut être mis en place?:True

Impressions

Je suis content d'avoir pu faire quelque chose d'assez satisfaisant. Je veux aussi l'améliorer.

Recommended Posts

J'ai créé un fichier de configuration avec Python
J'ai fait une loterie avec Python.
J'ai fait un compteur de caractères avec Python
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai fait un simulateur de neurones avec Python
J'ai créé un fichier de dictionnaire python pour Neocomplete
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5
J'ai fait un blackjack avec du python!
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai fait un texte Python
J'ai fait un blackjack avec Python.
Je veux écrire dans un fichier avec Python
J'ai fait un jeu de cueillette avec Python
Made Mattermost Bot avec Python (+ Flask)
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
J'ai fait un jeu d'éclairage de sapin de Noël avec Python
J'ai créé une application de notification de nouvelles en ligne avec Python
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
J'ai essayé de faire LINE BOT avec Python et Heroku
J'ai fait un Line-bot avec Python!
J'ai fait un jeu de frappe simple avec tkinter de Python
J'ai créé un package pour filtrer les séries chronologiques avec python
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
Créer un fichier power simple avec Python
J'ai fait un programme de gestion de la paie en Python!
J'ai dessiné une carte thermique avec Seaborn [Python]
J'ai essayé un langage fonctionnel avec Python
Ce que j'ai fait avec les tableaux Python
J'ai fait un jeu de vie avec Numpy
Après avoir étudié Python3, j'ai créé un Slackbot
J'ai fait une application WEB avec Django
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
J'ai fait un package qui peut comparer des analyseurs morphologiques avec Python
Python> J'ai créé un code de test pour mon propre fichier externe
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
[Python] J'ai créé une visionneuse d'images avec une fonction de tri simple.
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
J'ai créé un chat-holdem de serveur de jeu de poker en utilisant websocket avec python
[python] J'ai créé une classe qui peut écrire rapidement une arborescence de fichiers
〇✕ J'ai fait un jeu
J'ai fait un robot de remplacement de tampon avec une ligne
Comment lire un fichier CSV avec Python 2/3
Je veux faire un jeu avec Python
Procédure de création d'un LineBot réalisé avec Python
J'ai fait un simple portefeuille de Bitcoin avec pycoin
J'ai créé un Bot LINE avec Serverless Framework!
J'ai essayé de lire un fichier CSV en utilisant Python
Créer un fichier au format Photoshop (.psd) avec python
Lire ligne par ligne à partir d'un fichier avec Python
J'ai fait un graphique de nombres aléatoires avec Numpy
Ouvrir la boîte de dialogue de fichier avec l'interface graphique Python (tkinter.filedialog)
J'ai créé un programme cryptographique César en Python.
Création du wrapper d'API Qiita Python "qiipy"
J'ai créé un outil pour parcourir automatiquement plusieurs sites avec Selenium (Python)