Сравнение файлов с использованием отметки времени в Python - PullRequest
0 голосов
/ 04 мая 2020

Я начинаю карьеру программиста. Я многому учусь от переполнения стека. Я даже не знаю, правильно ли это задавать вопрос. Я работаю над проектом, в котором мне нужно сравнить мои файлы с отметкой времени. Например, есть каталог с файлами, например a.xls, a.log, a.txt b.xls, b.log, b.txt c .xls, c .log, c .txt здесь я должен выяснить, больше ли отметка времени (datetime) для a.log и a.txt, чем отметка времени для a.xls Я провел исследование о том, как получить временную метку файла, сравнивая временную метку двух файлов. Я не знаю, иду ли я в правильном направлении. Пожалуйста, укажите мне, как разобраться в этой проблеме, и приведите несколько логических указаний.

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Мне удалось написать код для вышеуказанного вопроса.

import os
path = 'D:/Newfolder/A'
xls_file = []
for i in os.listdir(path):
    if i.endswith('xls'):   
        file_name = (i.split('.')[0])  
        ext_name = (i.split('.')[1])   
        xls_file.append(file_name)   
for fname in os.listdir(path):  
    for i in xls_file: 
        if fname.__contains__(i) and not fname.endswith('xls'):
            log_txt = os.path.getmtime(path+'/'+fname)   
            xls_tym = os.path.getmtime(path+'/'+i+'.xls')  
            if xls_tym < log_txt:
                pass
            else:
                print(i+'.xls')

Возможно, это не чистый код, но я думаю, что код работает нормально Пожалуйста, предложите, если какие-либо изменения должны были быть сделаны

1 голос
/ 04 мая 2020

В Python, если вы можете создать объект datetime, вы можете сравнить их, используя операторы сравнения.

Таким образом, чтобы получить объект datetime вашего файла, вы можете сделать это:

modTimesinceEpoc = os.path.getmtime(filePath)
 # Convert seconds since epoch to readable timestamp
modificationTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(modTimesinceEpoc))

Затем вы можете напрямую использовать отметку времени, сравнить их и получить желаемый результат.

Надеюсь, это поможет.

...