我如何以编程方式在linux中找到文件格式?

时间:2013-06-19 05:24:15

标签: linux file timezone format file-type

我需要通过FTP将时区数据文件上传到目标板。时区数据文件名重命名或修改为“time_zone_info”。所以我需要验证上传的文件是否是时区数据格式? FTP将接受名为time_zone_info的任何文件。我需要验证文件格式,如果是时区数据格式,那么我需要将该文件保存在目标板中,否则需要向FTP抛出错误

1 个答案:

答案 0 :(得分:0)

您需要读取文件的第一个字节。对于TZ数据,前4个字节应为TZif(文件的第2版将为TZif2

在Python中,您可以执行以下操作:

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

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

    fd.close()

    return result

如果需要使用shell,那么您可以使用实用程序file。您也可以使用libmagic或以您偏好的语言在函数中执行。