Avatar billede pkdkk Nybegynder
10. juni 2009 - 15:31 Der er 6 kommentarer

Python - Tjek om en fil er mere end 2 uger gammel

Hvordan tjekker jeg om en fil er ældre end 2 uger med python??

Her kigget lidt på denne, http://effbot.org/zone/python-fileinfo.htm

Men ved ikke hvordan jeg tjekker om den er ældre end 2 uger.

Nogen der kan hjælpe?
Avatar billede j4k0b Nybegynder
10. juni 2009 - 15:50 #1
Der er tre muligheder i at tjekke dato for en fil:

- Hvornår filen blev oprettet
- Hvornår filen blev åbnet for redigering
- Hvornår filens informationer sidst blev rettet


Her er et eksempel på hvordan du tjekker om filen blev rettet for under to uger siden.


import os
import time
from stat import ST_MTIME

def is_older_than(filepath, days):
    stats = os.stat(filepath)
    return stats[ST_MTIME] < (time.time() - (60 * 60 * 24 * days))

>>> is_older_than('C:\\dinmor.jpg', 14)  # 14 dage
Avatar billede pkdkk Nybegynder
11. juni 2009 - 12:06 #2
SUPER tak for hjælpen...

Kan du også hjælpe med en sidste ting?..

def check_file_age(filepath, days):
    stats = os.stat(filepath)
    return stats[ST_MTIME] < (time.time() - (60 * 60 * 24 * days))



filepath = "%s%s.html" %(MOVIE_CACHE_ROOT, self.movie.id)
if self.check_file_age(filepath, '1'):

Hvorfor får jeg fejlen ---

check_file_age() takes exactly 2 arguments (3 given)

Sys ikk det gir mening.. :(
Avatar billede j4k0b Nybegynder
11. juni 2009 - 13:05 #3
Har du "self" som funktionens første argument? (det ser ud som om du har lagt den ind i en klasse)
Avatar billede j4k0b Nybegynder
11. juni 2009 - 13:06 #4
...fordi du kalder den med self.check_file_age(...)
Avatar billede j4k0b Nybegynder
11. juni 2009 - 13:07 #5
...Ellers så tilføj "self" som første argument i funktionen :-)

class dinklasse:

    def check_file_age(self, filepath, days):
        ...
        ...
        ...

    ...
    ...
Avatar billede j4k0b Nybegynder
19. juni 2009 - 09:19 #6
Var det svar på dit spørgsmål? Husk at lukke...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester