Как брать рандом ссылку из файла?

korpro

Client
Регистрация
21.03.2022
Сообщения
10
Благодарностей
0
Баллы
1
Всем привет. Есть список ссылок. Это либо блокнот, либо эксель.
Как мне сделать так, чтобы скрипт в начале брал рандомнкю ссылку из файлов для перехода?
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Как вариант, с ексель добавить в список, перемешать их и взять первую. Можно сразу взять рандом, но тогда перед этим надо посчитать количество строк, и в этом интервале делать рандом {-Random.Int-|-0-|-1000-}
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
551
Благодарностей
1 131
Баллы
93
  • Спасибо
Реакции: Mikhail B. и korpro

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

Alexbrush

Client
Регистрация
20.11.2020
Сообщения
164
Благодарностей
144
Баллы
43

Alexbrush

Client
Регистрация
20.11.2020
Сообщения
164
Благодарностей
144
Баллы
43

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
551
Благодарностей
1 131
Баллы
93
В друг там в списке 100 ссылок, а случайная выдаст 101 ссылку, тогда что
Я что-то вас не понял. Вы чего?))
Кубик проверяет каждый раз диапазон доступных индексов.
Я поэтому новичку с таким вопросом и посоветовал кубик.

91602

↑ Gif можно развернуть ↑

Пример скорости на маленьком списке без отрисовки действий в PM. (внимание на время в логе)
91609


Приложил шаблон, для наглядности. ↓
 

Вложения

Последнее редактирование:

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Всем привет. Есть список ссылок. Это либо блокнот, либо эксель.
Как мне сделать так, чтобы скрипт в начале брал рандомнкю ссылку из файлов для перехода?
Все варианты выше имеют место быть.
Но, если вдруг файл большой, например размером в 1ГБ, тогда возможно вот такой C# код будет работать лучше, чем указанные выше варианты.
Суть в том, что он не считывает целый файл в ОЗУ, а работает с каждой строчкой отдельно по очереди (а предыдущие варианты считают все строки в память, которой может не хватить, если файл большой).
Хотя... Если файл маленький - то любой из вариантов будет корректным.
C#:
string path = @"C:\Users\User\Desktop\исходник.txt";
return File.ReadLines(path).Where(x=>!string.IsNullOrEmpty(x)).OrderBy(x=>Guid.NewGuid()).First();
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Я что-то вас не понял. Вы чего?))
Кубик проверяет каждый раз диапазон доступных индексов.
Я поэтому новичку с таким вопросом и посоветовал кубик.
та самая ситуация, когда пропустил базовые кубики и сразу начал изучать C# :D
 
  • Спасибо
Реакции: djaga и Alexbrush

korpro

Client
Регистрация
21.03.2022
Сообщения
10
Благодарностей
0
Баллы
1
Можно вот так:
Списки → Операция над списком → Получить строку → Случайную

Посмотреть вложение 91597
Спасибо!! Извините может за глупый вопрос, так как я новичок, не понимаю как мне данную случайную строку загрузить в браузере? Ну то есть как сделать запрос ссылки в браузере, получается.
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
551
Благодарностей
1 131
Баллы
93
Спасибо!! Извините может за глупый вопрос, так как я новичок, не понимаю как мне данную случайную строку загрузить в браузере? Ну то есть как сделать запрос ссылки в браузере, получается.
Попробуйте так.) [ссылка на подробное описание]
91655


Обновил шаблон, как это может выглядеть с кубиком "Переход на страницу". Очень простой пример.
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: korpro

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Понаписали. Шаблонов, кодов. Вы че ребята?)) какие коды?)) Это базовая функция зенно, брать случайные строки со списка.
 
  • Спасибо
Реакции: Alexbrush и djaga

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Понаписали. Шаблонов, кодов. Вы че ребята?)) какие коды?)) Это базовая функция зенно, брать случайные строки со списка.
1. Вопрос был о том, как брать случайную строчку с файла, а не списка.
2. В некоторых случаях, например при работе с большими файлами, совсем не вариант для многопотока присоединять файл к списку - вариант без загрузки целого файла в ОЗУ будет предпочтительней (либо подождем пока Зенно внедрит ленивое чтение файлов при привязке к списку).
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
1. Вопрос был о том, как брать случайную строчку с файла, а не списка.
2. В некоторых случаях, например при работе с большими файлами, совсем не вариант для многопотока присоединять файл к списку - вариант без загрузки целого файла в ОЗУ будет предпочтительней (либо подождем пока Зенно внедрит ленивое чтение файлов при привязке к списку).
Ну ладно) Думал про списки речь
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)