2013-08-29 2 views
-3

Здравствуйте, я пишу Python скрипт, который будет отображать в списке (или любой другой объект) и каждая ячейка списка будет иметь 6 элементов в нем:отображение Python все файлы в папке,

  1. путь файл.
  2. имя файла (без всякого пути).
  3. расширение.
  4. время создания.
  5. последнее изменение время.
  6. Это хеш-память md5.

Я вроде новичок в Python, я попробовал все, что я знаю ...

помощь?

Спасибо :)

+2

«Я как бы новый для питона, я пробовал все, что знаю ...» Что вы пробовали? И что не удалось? – Paco

+0

Я сейчас не на своем компьютере ... Но я доверяю своим знаниям, что то, что я сделал, совершенно откровенно ничего, что стоит чего-то ... – Den1al

+0

@pyDan - даже если вы считаете, что ваши попытки не стоит говорить о , вы все равно должны публиковать их здесь. Люди из StackOverflow склонны отрицательно реагировать, когда это не выглядит так, как если бы этот вопрос попросил их самостоятельно решить проблему. Лучший способ противодействовать этому - значит всегда включать в себя то, что вы пробовали, какие ошибки были подняты и т. Д. Кроме того, если вы показываете свой код, люди в StackOverflow могут лучше понять, каковы были ваши ошибки, что вы пытались делать и предлагать полезные советы в целом. – Michael0x2a

ответ

3

О Пиздуйте на поиск Google для «информации питон шоу файл» первое, что появляется это:

Getting Information About a File

This function takes the name of a file, and returns a 10-member tuple with the following contents: 

(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) 

Затем вы идете в Пайтона документация, и вы найдете то, что означают параметры:

os.stat

st_mode - protection bits, 
st_ino - inode number, 
st_dev - device, 
st_nlink - number of hard links, 
st_uid - user id of owner, 
st_gid - group id of owner, 
st_size - size of file, in bytes, 
st_atime - time of most recent access, 
st_mtime - time of most recent content modification, 
st_ctime - platform dependent; time of most recent metadata change on Unix, or the time of creation on Windows) 

Затем вы узнаете, как перечислить функцию dir, которая также находится в документации по адресу listdir. Не говорите мне, что это было тяжело мне 1 мин.

Это, как пройти корыто папки с ДФС (поиск в глубину):

import os 

def list_dir(dir_name, traversed = [], results = []): 
    dirs = os.listdir(dir_name) 
    if dirs: 
     for f in dirs: 
      new_dir = dir_name + f + '/' 
      if os.path.isdir(new_dir) and new_dir not in traversed: 
       traversed.append(new_dir) 
       list_dir(new_dir, traversed, results) 
      else: 
       results.append([new_dir[:-1], os.stat(new_dir[:-1])]) 
    return results 

dir_name = '../c_the_hard_way/Valgrind/' # sample dir 
for file_name, stat in list_dir(dir_name): 
    print file_name, stat.st_size # sample with file size 

Я оставляю остальное вам.

+0

Поверьте мне, что я пробовал много способов, но что-то всегда не так. Я думаю, что вы меня неправильно поняли, путь для меня трудно понять, как сопоставить все файлы. Очень простая задача - получить состояния. – Den1al

+0

Попробуйте мой код, но вам нужно использовать другой массив для файлов. – badc0re

+0

Прежде всего, спасибо за помощь! Действительно оценен. Секунды, я как бы понял, что вы сделали в этом скрипте, Но опять же, я не очень хорош с python, ваша помощь отличная и действительно улучшает мое понимание python и практикует. Не могли бы вы показать мне, как добавить массив с статистикой? Надеюсь, вы получите, сколько вы мне помогли :) Еще раз спасибо :) – Den1al

Смежные вопросы