@ru_python

Страница 955 из 9768
time
09.06.2016
11:09:07
fofr

for

хранить миллионы файлов в одной директории вообще нехорошо

Марк
09.06.2016
11:09:21
Гипотетически, по иннодам можно

Google
time
09.06.2016
11:09:47
Гипотетически, по иннодам можно
это на ФС, а в директории?

и иноды есть не на всех ФС

Марк
09.06.2016
11:11:13
Ну, мы ж не извращенцы. Давайте уже какой-нибудь линупс с ext брать

Dmitry
09.06.2016
11:11:52
да, ls -1 будет быстрее
кстати довольно распространенная херня тоже. опыт своей консоли распространяется на пайпы. ___для пайпа___ нет разницы между ls и ls -1 , грубо говоря в пайпе ls ___всегда___ с -1 )

time
09.06.2016
11:12:19
но на всякий случай всегда пишу -1

Kill me pls
09.06.2016
11:12:21
find . -name \*.pdf -or -name \*.djvu -type f -maxdepth 1
а просто их посчитать?

Denis 災 nobody
09.06.2016
11:18:11
Марк
09.06.2016
11:19:10
Кстати, помните старую задачку с chmod? Типо вы сделали chmod -x на chmod. Сколько способов вы знаете восстановить права?

time
09.06.2016
11:19:50
сходу два вспомнил

Paul
09.06.2016
11:19:56
хранить миллионы файлов в одной директории вообще нехорошо
это вообще не хорошо, но мы обсуждаем ситуацию, когда это уже случилось.

Denis 災 nobody
09.06.2016
11:20:50
sed 1d короч
о, не знал

Марк
09.06.2016
11:23:14
Кстати, mc хорошо хавает директории с большим количеством файла

как ни странно

Google
Denis 災 nobody
09.06.2016
11:25:54
только это не нужно )

Марк
09.06.2016
12:30:26
хз. Возможно, работа ls не рассчитана на большие объемы

Aragaer
09.06.2016
12:30:49
ну задача конкретно такая - удалить самые старые файлы, чтобы осталось 3000

3000 файлов и фат это часть ТЗ

Roman
09.06.2016
12:31:19
и иноды есть не на всех ФС
с точки зрения vfs иноды есть везде. даже там, где вы их не ожидаете.

3000 файлов и фат это часть ТЗ
там readdir() тормозит и на fat ничего не поможет. потому что такая фс.

например, пайп - это тоже объект cfs

vfs

и сокет - это тоже объект vfs

Aragaer
09.06.2016
12:37:54
там readdir() тормозит и на fat ничего не поможет. потому что такая фс.
Вот идея в том, что сейчас для этого делается два прохода - сначала проход по всем файлам, потом для файла надо узнать его последнюю дату модификации (то есть из имени файла опять найти его запись в директории), а потом еще и удалить (третий проход)

хотя если бы был напрямую доступ к каталогу, то имена-то не нужны

пройти, собрать даты и оффсеты, затем удалить по оффсетам

но увы, апи такого не позволяет

Dmitry
09.06.2016
13:11:48
как быстро поискать в tuple из листов в которых словари?

Cykooz
09.06.2016
13:18:36
Я думаю что не надо усложнять, и просто поискать быстро :)

Что поискать?

Paul
09.06.2016
13:27:10
Cykooz
09.06.2016
13:33:51
Если поискать надо один раз - то быстрее будет без сортировок

Google
Cykooz
09.06.2016
13:34:14
Но в общем то до сих пор так и не понятно - что надо искать

Может надо найти list внутри которого есть словари

Dmitry
09.06.2016
13:37:06
вот загадка

for object in uploaded_files: print(object) for object_attr in object: print(object_attr.split(':'))

AttributeError: 'dict' object has no attribute 'split'

но

for object in uploaded_files: print(object) for object_attr in object: print(object_attr['name'])

TypeError: string indices must be integers

как понять?

type(object_attr) будет показывать dict

Belegnar
09.06.2016
13:38:25
разные object_attr

Dmitry
09.06.2016
13:38:29
object_attr[0]

Сан
09.06.2016
13:38:38
Dmitry
09.06.2016
13:38:49
print(object_attr[0]) KeyError: 0

Dmitry
09.06.2016
13:38:52
в чем загадка

ну len object_attr

а вообще type(object_attr) и не еби голову

Belegnar
09.06.2016
13:39:18
да просто print(object_attr)

Dmitry
09.06.2016
13:39:32
print(type(object_attr)

)

Google
Dmitry
09.06.2016
13:39:36
len 5

выше писал же

Dmitry
09.06.2016
13:39:54
keys?

Dmitry
09.06.2016
13:40:10
на кейс ругается что там str

Dmitry
09.06.2016
13:40:11
dict.keys()

че пишет

Ну так проверки добавь

Admin
ERROR: S client not available

Dmitry
09.06.2016
13:40:33
AttributeError: 'str' object has no attribute 'keys'

Dmitry
09.06.2016
13:40:52
if type(object_attr) == dict: тут object_attr.keys

()

Dmitry
09.06.2016
13:41:02
по факту внутри tuple из таких dict {'hash': '2164eeb09c1e102296642d1b7c92e43a', 'bytes': 1096020, 'content_type': 'image/jpeg', 'name': 'public/GbiIWADZiks копия.jpg', 'last_modified': '2016-06-08T14:06:13.592420'},

Dmitry
09.06.2016
13:41:04
я ебу сколько раз ты вызывешь его

тоже мне загадка

запятую проебал?

Dmitry
09.06.2016
13:41:53
какую запятую? я тебе просто постанул пример

что внутри

Paul
09.06.2016
13:43:11
по факту внутри tuple из таких dict {'hash': '2164eeb09c1e102296642d1b7c92e43a', 'bytes': 1096020, 'content_type': 'image/jpeg', 'name': 'public/GbiIWADZiks копия.jpg', 'last_modified': '2016-06-08T14:06:13.592420'},
ИМХО проще такие данные гнать в базу. Если надо действительно быстро - писать свою собственную базу и индексировать ее

Dmitry
09.06.2016
13:44:05
я расскажу задачу проще. Есть объектное хранилище с "файлами". Есть скрипт который заливает туда файлы. Файлов много несколько десятков тысяч

Google
Dmitry
09.06.2016
13:44:08
льется долго

и вот я хочу написать проврку на случай обрыва закачки

чтобы не переливать все заново

Paul
09.06.2016
13:44:39
и вот я хочу написать проврку на случай обрыва закачки
но для этого не нужен поиск. Вы же льете очередью

Dmitry
09.06.2016
13:44:39
хеши сравнивай и голову не еби

Dmitry
09.06.2016
13:45:09
не имеет значение что сравнивать

если я не могу дернуть аттррибут

но для этого не нужен поиск. Вы же льете очередью
очередь как таковая не храниться

Dmitry
09.06.2016
13:45:31
ты не понял

Есть А и Есть Б

Из А ты льёшь в Б

Б отсылает список файлов на А с хашами

А сравнивает и доливает

че тут сложного.

Dmitry
09.06.2016
13:46:49
а если А не умеет?

Paul
09.06.2016
13:46:59
ну я бы в редис складывал

Тёма
09.06.2016
13:47:18
ребят, как вы считаете, знание ооп выходит в необходимые навыки джуна?

Oleksandr?
09.06.2016
13:47:23
Да

Dmitry
09.06.2016
13:47:46
Входит и выходит

Как шарик

в горшочек

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