У меня есть такой файл (часть):Преобразование с ЧПУ Сверление от старой к новой системе (с использованием Python)
H DX=615 DY=425 DZ=22.15 -AB C=0 T=0 R=999 *MM /"def" BX=2.5 BY=452.5 BZ=25 ;M20150710.
XBO X=100 Y=50 Z=5 V=1000 R=0 x=0 y=0 D=10 N="P" F=1 ;Test F1/10P.
...
, который я хочу, чтобы преобразовать в новую систему программирования. Я хочу сначала прочитать заголовок (H) и поместить значения DX, DY и DZ в соответственно названные переменные. Мне удалось это сделать, но когда я приступил к обработке моей линии XBO (бурение, из которого мне нужны X, Y, Z, V, R, x, y, D, N, F и;, также в отдельных переменных) мой код начал выглядеть очень уродливым очень быстро.
Так что я начал снова, и пришел с этим:
f = open("input.xxl") # open input file
for line in f:
if Debug==1: print line
for char in line:
charbuffr=charbuffr+char
if "H" in charbuffr:
if Debug==1: print'HEADER found!'
charbuffr=""
if "XBO" in charbuffr:
if Debug==1: print'XBO found!'
charbuffr=""
Это правильно идентифицирует отдельные команды H и XBO, но я вроде застрял в настоящее время. Я могу использовать тот же метод для извлечения всех переменных из петель внутри петель H и XBO, но это не похоже на хорошее кодирование ...
Может ли кто-нибудь установить меня на правую ногу, пожалуйста? Я не хочу полного решения, так как мне нравится кодирование (ну, моя основная задача - кодирование для машин с ЧПУ, которое теперь кажется простым по сравнению с Python), но хотелось бы знать, какой подход лучше всего ...
Используйте словарь вместо нескольких переменных. – falsetru
Посмотрите на 'str.split()', 'dict()' и 'ast.literal_eval()'. – TigerhawkT3