@ru_python

Страница 6474 из 9768
?? Eugene
10.09.2018
11:12:39
Обе некрасивые, кстати
ну почему, миленькие

Alexey
10.09.2018
11:12:54
Так в С есть же вроде try cath, обергуть код и принтовать LINE, FILE (директивы компилятора)

Дмитрий
10.09.2018
11:13:14
Плохо что у ТГ так плохо организованны чаты. RO нету, А то сделать по умолчанию ro и ссылку на правила + минитест на знания python. Прошел, получил rw

Google
Андрей
10.09.2018
11:13:45
Но зачем?

Дмитрий
10.09.2018
11:14:08
А разве можно участнику давать ro режим?

Костя
10.09.2018
11:14:18
естественно

разве не?

Vladislav
10.09.2018
11:14:36
можно

Дмитрий
10.09.2018
11:14:50
Пару лет назад нужно было, такой функции не было. Сейчас не знаю

Так давайте организуем, и спама поменьше будет в виде "как запустить файл *py"

Vladislav
10.09.2018
11:16:01
можно уже существующих заюзать

Iliya
10.09.2018
12:11:13
День добрый, нужен совет, какой алгоритм использовать Задача простейшая, но огромная Что надо сделать: Есть два файла со строками и нужно пройтись по ним и создать третий файл в который записать только те строки которые есть только в одном файле, но нет во втором Вопрос не в бегинеры так как в ФАЙЛЫХ по 4-6млн строк Есть у кого-нибудь идеи?

Aragaer
10.09.2018
12:12:18
все равно лучше попарного сравнения ничего не придумать

Google
Aragaer
10.09.2018
12:12:51
я бы разбил оба файла на большое количество вменяемых по размеру частей и распараллелил бы обработку

распараллелить по кускам первого файла

??
10.09.2018
12:13:08
как с помощью flask получить данные со всех форм, но в список записать те, в которых есть данные

Aragaer
10.09.2018
12:13:10
по второму только последовательно

Василий
10.09.2018
12:13:42
Iliya
10.09.2018
12:13:42
А сколько у тебя оперативной памяти есть? и сколько файлы весят
Ну думаю крутнуть на компе задачу, на нем 8 озу Файлы весят 45мб и 25мб txt

все равно лучше попарного сравнения ничего не придумать
ну это решение в лоб, и долго и тяжело для железа?

Василий
10.09.2018
12:14:27
Ну думаю крутнуть на компе задачу, на нем 8 озу Файлы весят 45мб и 25мб txt
дык тебе хватит без проблем. даже бить ничего не надо. Просто сортирни 2 списка. разбей на чанки по первой букве. и эти чанки уже сравнивай попарно

Евгений
10.09.2018
12:14:34
распараллелить по кускам первого файла
там куча проблем с тем, как ты разобъешь файл. Может выйти так, что одна строка в одном файле попадет в кусок №2, а во втором, например, в кусок №3

Aragaer
10.09.2018
12:14:59
не

надо каждый с каждым все равно

Василий
10.09.2018
12:15:11
в фалах цифры
только цифры. в одну колонку?

Aragaer
10.09.2018
12:15:42
ну если нет никакой дополнительной информации

Iliya
10.09.2018
12:15:57
только цифры. в одну колонку?
Сейчас кину пример, сек

Василий
10.09.2018
12:16:07
Если так то просто прочитай файлы в setы и примени к ним логическое или

Aragaer
10.09.2018
12:16:30
если можно просто всосать, то банально grep -v -F -f file2 file1

Iliya
10.09.2018
12:18:15
Вот пример данных из фалов FILE_1 AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; AAAAAA=111111111111; FILE_2 111111111111 111111111111 111111111111 111111111111 111111111111 111111111111 111111111111 111111111111 111111111111 111111111111

??
10.09.2018
12:18:31
сплитани

в первом

Google
Iliya
10.09.2018
12:18:36
Я думаю первой итерацией привести файл 1 в виду файла 2 Удалить таб и буквы с равно и точку с запятой

??
10.09.2018
12:18:39
и реплесни

а затем проверяй

Aragaer
10.09.2018
12:19:09
ну как минимум надо удалить все дубликаты

Василий
10.09.2018
12:19:30
а лучше frozenset т.к. он меньше оперативы жрет

Евгений
10.09.2018
12:20:07
Я думаю первой итерацией привести файл 1 в виду файла 2 Удалить таб и буквы с равно и точку с запятой
важно наличие строки с определенным содержанием в файле, или положение тоже имеет значение? То есть, вам файловый дифф нужен, или уникальные для обоих файлов строки?

Aragaer
10.09.2018
12:20:46
uniq удалит дубликаты

птон не нужен короче для этой задачи

??
10.09.2018
12:21:36
как с помощью flask получить данные со всех форм, но в список записать те, в которых есть данные

Iliya
10.09.2018
12:21:41
важно наличие строки с определенным содержанием в файле, или положение тоже имеет значение? То есть, вам файловый дифф нужен, или уникальные для обоих файлов строки?
положение в файле пофиг, короче мне надо удалить из большего файла_1 те строки которые есть в файле_2 можно третий и не создавать меньше дисковых операций

??
10.09.2018
12:22:23
2 массива запилить и по ним в цикле пройтись

Aragaer
10.09.2018
12:22:27
grep -v -F -f file2 file1

Евгений
10.09.2018
12:22:32
ну из второго файла делаете set, по первому идете, и ремувите строки, что есть в сете.

Aragaer
10.09.2018
12:22:35
вот эта команда тебе все сделает

ну .. почти. можно добавить ключик -w на всякий случай

Iliya
10.09.2018
12:23:26
grep -v -F -f file2 file1
а выход куда сложит или из первого удалит то что есть во втором?

??
10.09.2018
12:23:50
в кмд

вродб

Aragaer
10.09.2018
12:24:23
в stdout вывалит. Но ты можешь перенаправить куда хочешь

Google
Iliya
10.09.2018
12:25:04
в stdout вывалит. Но ты можешь перенаправить куда хочешь
ок, а ничего к одному виду приводить не надо? можно файлы в таком виде и кидать?

Iliya
10.09.2018
12:25:29
> file3
да понял, что stdout перенаправить

Aragaer
10.09.2018
12:25:32
если каждая строчка второго файла является корректным шаблоном для выкидывания строки из первого, то больше ничего не надо

если например в первом файле есть aaa = 1150 bbb = 2150 а во втором есть строчка 150, то надо сделать -w, иначе удалит обе предыдущие

Admin
ERROR: S client not available

Iliya
10.09.2018
12:32:03
FILE_1 AAAAAA=111111111111; AAAAAA=111111111112; AAAAAA=111111111113; FILE_2 111111111111 111111111114 111111111114 Т.е. мне надо из file1 удалить AAAAAA=111111111111; так как в file2 есть такая строка И я это смогу сделать так grep -v -F -f -w file2 file1 > file3 Верно? @aragaer

Andrey
10.09.2018
12:40:31
Доброго времени суток Подскажите пожалуйста уже всю голову себе сломал. Есть файл текстовый с логами (8гб примерно). Нужно его отпарсить и выбрать определенные строки. И я написал такой код: f_contents - сюда прочитали сам файл. substr - строка - ключевик которую ищем в файле lines = [] for line in f_contents.strip().split('\n'): If substr in line lines.append(line) Так вот при запуске на начале цикла вылетает с ошибкой памяти (как я понял просто в цикле весь файл читается в список). Как переписать код чтобы исправить эту хрень? Спасибо

Aragaer
10.09.2018
12:41:29
Iliya
10.09.2018
12:44:28
Поскольку в файле 2 есть строка 111111111, то да, оно сработает. Только порядок флагов перепутал - "-f file2" должно идти вместе
что-то не так, я пока на 20 строках проверяю и при grep -v -F -f file2 file1 > file3 В файл3 у меня просто скопировалось то, что в file1 не удалило посторяющуюся строку

Andrey
10.09.2018
12:44:58
А если вот такой цикл: for line in f_contents: То line это просто 1 буква как показывает вывод -> никакой подстроки он не находит

Aragaer
10.09.2018
12:50:14
$ cat file1 x=10 y=20 z=30 $ cat file2 20 30 $ grep -v -w -F -f file2 file1 x=10

ну то есть "у меня все работает"

Alexey
10.09.2018
12:54:33
Для сравнения файлов в linux есть утилита diff...

Aragaer
10.09.2018
12:55:34
тут не сравнение

Iliya
10.09.2018
12:56:15
тут не сравнение
я думаю может дело в табе, который у меня в начале строки в file1 Cейчас попробую твой пример повторить создам такие же, сек

Google
Aragaer
10.09.2018
12:56:18
тут "удалить из одного файла все строки, которые матчат шаблоны из второго"

нет, не думаю

ща сделаю с табом

$ grep -wvFf file2 file1 x=10

Iliya
10.09.2018
12:57:31
$ grep -wvFf file2 file1 x=10
да с такими значениями работает что за фигня, там у меня цифр фофига, в глазах рябит =) Сейчас внимательно буду сомтреть

Aragaer
10.09.2018
12:57:54
давай небольшой пример, на котором не работает

... хотя у меня есть гипотеза

Aragaer
10.09.2018
12:58:35
сделай dos2unix на второй файл

Да, если во втором файле виндовые переносы строк, то работать перестает

Iliya
10.09.2018
13:00:23
давай небольшой пример, на котором не работает
Вот такой пример FILE_1 AAAAAA=111111111112; AAAAAA=111111111111; AAAAAA=111111111113; AAAAAA=111111111114; AAAAAA=111111111115; AAAAAA=111111111116; AAAAAA=111111111117; AAAAAA=111111111118; AAAAAA=111111111119; AAAAAA=111111111110; FILE_2 111111111111 111111111112 111111111113 111111111114 111111111115 111111111116 111111111117 111111111118 111111111119 111111111110

Aragaer
10.09.2018
13:00:27
$ sed -i 's/$/\r/' file2 $ grep -wvFf file2 file1 x=10 y=20 z=30 $ sed -i 's/\r//' file2 $ grep -wvFf file2 file1 x=10

Iliya
10.09.2018
13:02:01
т.е. с начала мне по file2 sed -i 's/\r//' file2

Aragaer
10.09.2018
13:02:21
ага

удалит оттуда виндовые переносы

Страница 6474 из 9768