
Roman
24.02.2017
10:24:50
для копирования
14001-E-0100-G-A06-UNX-000151-01-ER-C 01-00-CO-1-GR-UNX-0001-01-ER General data.pdf

Aragaer
24.02.2017
10:25:19
xargs -a имя_файла -n1 -IF find -name F -delete
но надо как-то победить пробельные символы

Google

Roman
24.02.2017
10:25:33
типа как
первая часть имени
14001-E-0100-G-A06-UNX-000151-01-ER-C
поэтому можно найти но получается что поиск по шаблону
print glob.glob(mypath + '14001-E-0130-E-L04-UNX-000251-01-ER-A*')
вот так находит

Aragaer
24.02.2017
10:27:12
ну можно awk '{print $1}' имя_файла | xargs -n1 -IF find -name F* -delete
но меня все равно смущает использование глоба тут
но можно попробовать, разные ключики потыркать, просто убрав -delete

Roman
24.02.2017
10:28:28
а как такую команду выполнять в питоне?
это же вроде консольная команда

Google

Aragaer
24.02.2017
10:28:43
а обязательно нужен питон?

Игорь
24.02.2017
10:28:55

Roman
24.02.2017
10:29:07
просто как прогнать все строчки названий в фале их 100 штук примерно

Aragaer
24.02.2017
10:29:24
ээм
моя команда и прогонит все строчки
имя_файла это файл со строчками
иначе зачем заморачиваться с xargs

Игорь
24.02.2017
10:30:10

Aragaer
24.02.2017
10:30:47
любите вы проблемы на ровном месте найти

Roman
24.02.2017
10:31:08
в принципе нашел ф доках
for d, dirs, files in os.walk('c:/mydir'):
for f in files:
print (f)

Игорь
24.02.2017
10:31:11

Aragaer
24.02.2017
10:31:17
мне вон недавно дали тестовую задачу - написать скрипт на баше, который найдет имена всех c-файлов, в которых есть строчка HelloWorld

Игорь
24.02.2017
10:31:43

Aragaer
24.02.2017
10:31:44
find -name '*.c' | xargs grep -l HelloWorld

arisu
24.02.2017
10:32:00
grep -R

Aragaer
24.02.2017
10:32:36
а, у грепа есть -I чтобы сказать '*.c'
ваще шикарно
grep -lrI'*.c' HelloWorld

Google

Игорь
24.02.2017
10:34:05
Я обычно по чужим проектам грепом ползаю, удобней, чем все это дело в какой-нить среде ковырять

Aragaer
24.02.2017
10:34:29
я не "обычно" и не только по чужим
правда вместо обычного грепа чаще использую ag - он по умолчанию рекурсивный в частности. И иногда git grep. Он тоже рекурсивный и знает, что не надо лазить в .git папку и в субмодули
и еще git grep выдаст именно из того, что под версионным контролем, а сгенеренное пропустит

Roman
24.02.2017
10:40:16
ну вот написал запустил ждууу
http://prntscr.com/ecrr7x
Блин что то работает через раз
http://prntscr.com/ecs0ee

Igor
24.02.2017
11:12:12
а это ок что readline вызывается только один раз?
а, в конце цикла еще, пардон

Roman
24.02.2017
11:13:01

Roman
24.02.2017
11:13:04
сам с php

Igor
24.02.2017
11:13:34
а че именно через раз работает-то?
ну, то есть, принты вроде есть, если не получается понять, в чем проблема - попробуй больше принтов %)
можешь в for f in files впихнуть print f и print line

light
24.02.2017
11:14:07
Кто работал с пирамидой?

Roman
24.02.2017
11:14:53

stonepig
24.02.2017
11:14:59
МмМ?

Roman
24.02.2017
11:15:15

light
24.02.2017
11:16:01
Pylons

Google

Igor
24.02.2017
11:16:33
там около 90 тыс файлом будет выводится))
ну блин, ты ж не будешь нам давать список файлов и там и там, чтоб мы сами проверяли, почему твой код не работает, я надеюсь?))
поставь ограничение чтоб первые фалйов 10-50-100 отобразились, а потом заверши цикл к хренам
os.walk в files возвращает только имя файла, без пути к папке. у тебя в out.txt точно только названия файлов?

Roman
24.02.2017
11:21:26
*пробелы

Igor
24.02.2017
11:22:32
ок. едем дальше. readline() в конце возвращаемой строки пихает перенос строки, \n
ты это учёл?
(нет, не учел)
(можно сделать line = line.rstrip())

Admin
ERROR: S client not available

Roman
24.02.2017
11:24:26
хм
щасс
момент

Igor
24.02.2017
11:25:51
прост получается, что ты при чтении файла забираешь из файла строку с содержимым например "piska.txt", и line == 'piska.txt\n'
потом сравниваешь с результатом в os.walk, а там переносов строки в списке файлов нету
и тут тебе никакой .replace(' ', '') не поможет %)
а еще с файлами лучше работать через контекст менеджер, with
тогда файл сам закрывается
with open('out.txt', 'r') as f:
f.readline()
и f.close() не нужен тогда
а еще есть .readlines()
а еще можно просто проходиться циклом по файловому объекту

Roman
24.02.2017
11:28:55
я запутался )))

Nikolay
24.02.2017
11:29:09

Roman
24.02.2017
11:29:10
всеравно ненаходит походие файлы я уже начал все файлы выводить\

Igor
24.02.2017
11:29:21

Nikolay
24.02.2017
11:29:32
а тьфу
у меня просто проблема эта была, когда в файле были пути

Google

Nikolay
24.02.2017
11:30:03
и, естественно, os.path.exists не срабатывал, потому что перенос строки в конце

Igor
24.02.2017
11:30:12
ну у него такая же проблема, да
да, пробельчики и прочие ньюлайны с обеих сторон бы порезать к хуям
просто эта фишка readline никак не связана с именно _путями_ ))

Nikolay
24.02.2017
11:30:38
где-то была статья про то, какое же днище эти файловые пути
типа, их невозможно толково провалидировать
потому что могут быть и пробелы, и числа, и нечитаемые символы в названии

Маришка
24.02.2017
11:31:11

Igor
24.02.2017
11:31:14

Roman
24.02.2017
11:31:14
если искать через консоль find То находит файл

Маришка
24.02.2017
11:31:19
isfile

Nikolay
24.02.2017
11:31:26

Маришка
24.02.2017
11:31:32
А

Igor
24.02.2017
11:31:35
да причем тут файнд, ты на питоне скрипт пишешь. хочешь - вызывай из питона никсовый find %)
(не надо)

Roman
24.02.2017
11:31:51
нет я о том что файл есть
а на питоне неполучается найти

arisu
24.02.2017
11:32:02

Nikolay
24.02.2017
11:32:15

Igor
24.02.2017
11:32:17
а я о том, что раз на питоне не получается найти, то надо подебажить и понять, чем отличаются файлы, которые должны быть равны