Найти - Пользователи
Полная версия: нарушен порядок строк при выводе в файл
Начало » Python для новичков » нарушен порядок строк при выводе в файл
1 2 3 4
Sherkhan
Выше отправил выходной файл, тут прикрепил файл с шаблонами
Sherkhan
Перезалил выходной файл с возвращёнными символами конца строки
PooH
Ну как-то так, если правильно понял что нужно
import os
# sample data
template = '/home/pooh/tmp/1'
all_trains = [('1_Chief', 'Trains.USSR_TovarSostav 1', '26000_Chief'),
     ('2_Chief', 'Trains.USSR_FuelCargo 1', '26001_Chief')]
#end sample data
input_filename = os.path.join(template, 'trains_way.mis')
output_filename = os.path.join(template, 'mds.mis')
trains_dict = {k: v for k, _, v in all_trains}
in_seq = False
with open(input_filename) as inf:
    with open(output_filename, 'w') as outf:
        for line in inf:           
            if line.startswith('['):                
                train = trains_dict.get(line.strip()[1:-6], None) # delete '[' and  '_Road]' from line for key
                if train:
                    outf.write('[%s_Road]\n' % train)
                    in_seq = True
                else:
                    in_seq = False
            elif in_seq:                
                outf.write(line)

PS: Бесит, что форматер кода на форуме вырезает пустые стороки, они вообще-то смысл выделяют
FishHook
with open(input_filename) as inf:
   
    with open(output_filename, 'w') as outf:
        for line in inf:           
   
            if line.startswith('['):        
           
                train = trains_dict.get(line.strip()[1:-6], None) # delete '[' and  '_Road]' from line for key
                if train:
                    outf.write('[%s_Road]\n' % train)
                    in_seq = True
                else:
   
                    in_seq = False
            elif in_seq:                
                outf.write(line)
Магия
PooH
FishHook
Магия
Ээээ… а что не так?

line.strip()[1:-6]
? ну грубовато да, надо в функцию типа prepare_to_key, но для скрипта сойдет

with open(input_filename) as inf:
    with open(output_filename, 'w') as outf:
?

У меня сейчас под рукой только 2.7, а
from contextlib import nested
не хотел ТС пугать, он и так пока в питоне плавает .
FishHook
PooH
Ээээ… а что не так?
Да всё так, это я тебя пустыми строками в коде троллю
PooH
FishHook
PooH
Ээээ… а что не так?
Да всё так, это я тебя пустыми строками в коде троллю
Как?! Кааааак ты это делаешь?????!!!!

ЗЫ: Вот я лох, сейчас посмотрел
with A() as a, B() as b:
    suite
оказывается в 2,7 и появилось, а я всегда, думал что только в третей ветке :)
FishHook
PooH
Кааааак ты это делаешь
пробел
PooH
FishHook
PooH
Кааааак ты это делаешь
пробел
дааа… мог бы и сам сообразить
старею… тупею…
Sherkhan
trains_dict = {k: v for k, _, v in all_trains}
на эту строку ругается (неверный синтаксис)
Python 2.4
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB