[PYTHON] Remarques sur la création d'outils de mise en forme de texte

Un mémo pour créer des outils utiles avec juste un peu de Python. Python est simple et agréable. En supposant l'édition du programme CN.

def readAll(fileName):
    with open(fileName, "r") as f
        ls = f.read().split("\n")
        return ls
#	f = open(fileName, "r")
#	ls = f.read().split("\n")
#	f.close()
	return ls

--Supprimer les commentaires (caractères entre parenthèses) avec des expressions régulières

# 'O1000(SAMPLE)'
# → 'O1000'

import re

cmtptn = re.compile(r"\(.*?\)")
def removeComment(str):
	return cmtptn.sub("", str)

――Perspective avec des expressions régulières

# 'G01X50.Y-50.Z-10.F500'
# → ['G01', 'X50.', 'Y-50.', 'Z-10.', 'F500']
ptr = re.compile(r"([A-Z#][^A-Z]+)")
def parse(str):
	p = ptr.findall(str)
	# print p
	return p

--Lire le contenu du fichier reçu en argument

import sys

if __name__ == "__main__":
	prm = sys.argv
	f1 = readAll(prm[1])

	for line in f1:
		print line
		# line = removeComment(line)
		# p = parse(line)

#Il semble plus facile de rediriger l'imprimé
# open/Utiliser avec pour écrire (voir readAll)
f = open(fname, "w")
f.write("foo")
f.close

--Dictionnaire

# coding: UTF-8

gcode = {
	"G00": u"Positionnement"
	, "G01": u"Interpolation linéaire"
}

#Lors de l'impression
print str(gcode).decode("unicode-escape")

--Seules ceux qui ont analysé les résultats dans le dictionnaire

filtered = filter( lambda cd:gcode.has_key(cd) , parsed)
dsp = map( lambda cd:gcode[cd], filtered)
print str(dsp).decode("unicode-escape")
#Il est délicat que les conditions de jugement soient remplies
wptn = re.compile(r"M\d{3,}P\d{2,}")
def isWaitCode(str):
	return wptn.match(str)
def sysout(v):
	sys.stdout.write(str(v))

#nouvelle ligne
def newline():
	sysout("\n")

Recommended Posts

Remarques sur la création d'outils de mise en forme de texte
[Python] Mémo de création de l'outil de grattage
Un outil pour créer des liens symboliques sous Windows
Notes sur la création d'un environnement python par les débutants
Étape par étape pour créer un Dockerfile
Commandes pour créer un nouveau projet django
Un outil pour saisir facilement du code Python
Mémo sur Sphinx Partie 1 (Création d'un projet)
Créer une carte du choléra pour John Snow
Créer un environnement de développement pour l'apprentissage automatique
J'ai créé un outil utile pour Digital Ocean
Création d'un outil de gestion de bibliothèque d'en-tête uniquement pour C / C ++
Procédure de création d'un LineBot réalisé avec Python
Un mémo lors de la création d'un environnement python avec miniconda
Commandes pour créer un environnement python3 avec virtualenv
Procédure de création d'un environnement d'isolation Python (environnement venv)
Création de l'outil de gestion des utilisateurs Let's Chat
J'ai créé un outil de nettoyage pour Google Container Registry
Remarques sur l'installation de Chainer 1.5 pour GPU sous Windows
Problèmes lors de la création d'un outil de conversion csv-json avec python
Créer un outil de formatage CSV avec Python Pandas Py Installer
Outil de création de données d'entraînement pour la détection d'objets OpenCV
Procédure de création d'un Line Bot sur AWS Lambda
J'ai créé un outil de génération de données texte répétitif "rpttxt"
Mémo de construction d'environnement d'apprentissage automatique par Python
4. Création d'un programme structuré
[Pour mémoire] Linux Partie 2
Text mining (pour mémo)
mémo heroku (pour moi)
Créer un chargeur de jeu de données
À propos de «Lamvery», un outil de déploiement et de gestion pour AWS Lambda
J'ai essayé d'utiliser Tensorboard, un outil de visualisation pour l'apprentissage automatique
Dockerfile pour créer un environnement de science des données basé sur pip3
[Python] Ce qu'un programmeur inexpérimenté a fait avant de créer un outil
[Ajout] Un mémo pour diviser une chaîne de caractères contenant plusieurs espaces
(Pour les débutants) Essayez de créer une API Web simple avec Django
L'histoire de la sortie d'un outil de vérification de texte créé par Python sur GitHub x CircleCI pour la première fois