Чтение из файлов в список и работа со списком



  • Здравствуйте

    Пользовался БАС ранее, все было нормально, недавно появилась задача с заполнением данных на сайте

    Для решения мне нужно взять товар из текстового файла/

    1. Команда "Читать файл в список" - как я не крутил не работает !!!
      Примеров по данным командам не нашел!!! На сколько я понимаю данная команда достаточно тривиальна и важна и при других задачах...
      При этом команды "Шаблон" и "Парсить строку" прекрасно работают с файлом

    Можно либо доработать БАС
    Возможно я что-то не понимаю, в этом случае дайте ссылку на пример (взять из файла строки и в цикле получить переменную со значением каждой строки)
    2. Добавил ресурс Список, внес в него необходимый список (700 позиций), пытаюсь получить номер последнего элемента списка (для организации цикла) - тоже никак !!!

    Заранее спасибо!!!



  • @Iuri said in Чтение из файлов в список и работа со списком:

    Здравствуйте

    Пользовался БАС ранее, все было нормально, недавно появилась задача с заполнением данных на сайте

    Для решения мне нужно взять товар из текстового файла/

    1. Команда "Читать файл в список" - как я не крутил не работает !!!
      Примеров по данным командам не нашел!!! На сколько я понимаю данная команда достаточно тривиальна и важна и при других задачах...
      При этом команды "Шаблон" и "Парсить строку" прекрасно работают с файлом

    Можно либо доработать БАС
    Возможно я что-то не понимаю, в этом случае дайте ссылку на пример (взять из файла строки и в цикле получить переменную со значением каждой строки)
    2. Добавил ресурс Список, внес в него необходимый список (700 позиций), пытаюсь получить номер последнего элемента списка (для организации цикла) - тоже никак !!!

    Заранее спасибо!!!

    Приведите пример, где у Вас не работает.



  • @Iuri

    Команда "Читать файл в список" - как я не крутил не работает !!!

    Только что попробовал, работает.

    Примеров по данным командам не нашел!!! На сколько я понимаю данная команда достаточно тривиальна и важна и при других задачах...

    Обычно читаю через ресурс.

    Можно либо доработать БАС

    Что конкретно нужно доработать?

    Возможно я что-то не понимаю, в этом случае дайте ссылку на пример (взять из файла строки и в цикле получить переменную со значением каждой строки)

    0_1486733868931_iterate_lines.xml

    Добавил ресурс Список, внес в него необходимый список (700 позиций), пытаюсь получить номер последнего элемента списка (для организации цикла) - тоже никак !!!

    Ресурс типа "список" для того чтобы пользователь мог выбрать 1 элемент, а не для того, чтобы получать все.

    недавно появилась задача с заполнением данных на сайте

    Рекомендую использовать стандартный подход.

    1. Создать ресурс с типом "Из файла" и использовать его там, где нужны строки из файла.
    2. Увеличить число успешных выполнений.

    Подробнее об этом тут http://wiki.bablosoft.com/doku.php?id=ru:tutorial1



  • Спасибо, разобрался )))



  • @Iuri Пожалуйста



  • Народ, кто знает - если необходимо взять случайную строку из тектового файла большого размера (до 100к строк), то как это лучше сделать через BAS?
    Читать файл в список и взять случайный элемент - лучшее решение будет? Чтение файла через Nodejs может быть эффективнее по скорости/производительности?



  • @agility said in Чтение из файлов в список и работа со списком:

    Читать файл в список и взять случайный элемент - лучшее решение будет?

    Смотря какая задача.Если не знаете то пожалуй да.

    @agility said in Чтение из файлов в список и работа со списком:

    Чтение файла через Nodejs может быть эффективнее по скорости/производительности?

    Нет.
    node js в басе это дополнительный модуль, а нативное встроено в него что быстрее как думаете?



  • @tts9 Спасибо за ответ, но я все равное не понял - как лучше читать строку из файла большого размера?



  • @agility У вас список? Получить случайный элемент. Он автоматом отрандомит длину списка и возьмет случайный 0_1559067522966_rand_element.png



  • @tts9 Список в 100к элементов будет грузить память/тормозить работу потока? Очистить список сразу после использования решит проблему, или еще есть подводные камни? :-)



  • @agility Дело то хозяйское, список загрузиться в ОЗУ вот и думайте надо вам это или нет. Очистка списка мгновенно память не освободит.



  • @agility Вы сначала попробуйте. В записи конечно будет, особенно если вы полезете смотреть переменные. Он же память будет на это тратить. В работе не особо. @Fox если мне не изменяет память проводил тестирование пару сотен тыс в список, с очисткой и без сильно большого изменения не было. Но это не точно.


Log in to reply