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