2013-06-19 1 views
0

Мне нужно загрузить файл данных часового пояса на целевую плату через FTP. Имя файла данных часового пояса переименовывается или изменяется как «time_zone_info». Поэтому мне нужно проверить, что загруженный файл является форматом данных часового пояса или нет? FTP будет принимать любой файл с именем time_zone_info. Мне нужно проверить формат файла. Если это формат данных часового пояса, тогда мне нужно сохранить этот файл в целевой доске, иначе вам нужно будет сбросить ошибку на FTP.Как я могу найти формат файла в Linux программно?

+1

['man file'] (http://en.wikipedia.org/wiki/File_ (команда)) –

+0

В нашей целевой доске мы используем версию ядра 2.4, а утилиту busybox также старую. думаю, что «файловая» утилита в этом отсутствует. Итак, что я должен сделать для этого? Как я могу получить исходный код для этой файловой утилиты? – Vishwanath

+0

Google для этого. Подсказка: 'libmagic' –

ответ

0

Вам необходимо прочитать первые байты файла. В случае данных TZ, первые 4 байта должны быть TZif (версия 2 файла будет TZif2)

В Python вы могли бы сделать что-то вроде:

def check_tz(fname): 
    fd = open(fname, 'rb') 

    result = fd.read(4) != 'Tzif' 

    fd.close() 

    return result 

Если нужно сделать это с оболочкой , то вы можете использовать утилиту file. Вы также можете использовать libmagic или выполнять функцию в функции на своем предпочитаемом вами языке.

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

  • Нет связанных вопросов^_^