GNU/Linux >> Znalost Linux >  >> Linux

Získejte čas na vytváření souborů s Pythonem na linuxu

zkuste:

st_birthtime

Není však zaručeno, že bude k dispozici na všech systémech. Z dokumentů:

Na některých unixových systémech (jako je Linux) mohou být také dostupné následující atributy:st_blocks (počet bloků přidělených pro soubor), st_blksize (velikost systému souborů), st_rdev (typ zařízení v případě zařízení typu inode).st_flags (uživatelem definované příznaky pro soubor).

Na jiných unixových systémech (jako je FreeBSD) mohou být dostupné následující atributy (ale mohou být vyplněny pouze v případě, že se je root pokusí použít):st_gen (číslo generování souboru), st_birthtime (čas vytvoření souboru).

http://docs.python.org/2/library/os.html#os.stat


Pravděpodobně nemůžete.:

3.1)  How do I find the creation time of a file?

      You can't - it isn't stored anywhere.  Files have a last-modified
      time (shown by "ls -l"), a last-accessed time (shown by "ls -lu")
      and an inode change time (shown by "ls -lc"). The latter is often
      referred to as the "creation time" - even in some man pages -
      but that's wrong; it's also set by such operations as mv, ln,
      chmod, chown and chgrp.

      The man page for "stat(2)" discusses this.

Kvůli nedostatku dobrého nástroje jsem vytvořil crtime.

pip install crtime

Pak to můžete použít jako:

sudo crtime ./

Vytiskne:

1552938281  /home/pascal/crtime/.gitignore
1552938281  /home/pascal/crtime/README.md
1552938281  /home/pascal/crtime/crtime
1552938281  /home/pascal/crtime/deploy.py
1552938281  /home/pascal/crtime/setup.cfg
1552938281  /home/pascal/crtime/setup.py
1552938961  /home/pascal/crtime/crtime.egg-info
1552939447  /home/pascal/crtime/.git
1552939540  /home/pascal/crtime/build
1552939540  /home/pascal/crtime/dist

Všimněte si, že pro velké adresáře bude snadno 1000x rychlejší než xstat výše, protože to vytvoří dočasný soubor a poté spustí stat vyvolá všechny soubory najednou.

V pythonu (nezapomeňte, že to musíte stále volat pomocí sudo na linuxu):

from crtime import get_crtimes, get_crtimes_in_dir
get_crtimes_in_dir("./")

Linux
  1. Linux – Jak zjistit datum vytvoření souboru?

  2. Linux – Jak zajistit, aby Oracle Java 7 fungoval se Setcap Cap_net_bind_service+ep?

  3. Získat čas vytvoření/vytvoření souboru??

  1. Oprávnění souborů v Linuxu s příkladem

  2. Jak získat název souboru pouze pomocí Linuxu „najít“?

  3. Jak získat datum/čas vytvoření souboru v Bash/Debian?

  1. Začněte s NetworkManagerem v systému Linux

  2. Třídit příkaz v Linuxu s příklady

  3. Jaké souborové systémy v Linuxu ukládají čas vytvoření?