精华内容
下载资源
问答
  • 这是我的个人文件类;-)class File(file):""" An helper class for file reading """def __init__(self, *args, **kwargs):super(File, self).__init__(*args, **kwargs)self.BLOCKSIZE = 4096def head(self, lines_2...

    这是我的个人文件类;-)

    class File(file):

    """ An helper class for file reading """

    def __init__(self, *args, **kwargs):

    super(File, self).__init__(*args, **kwargs)

    self.BLOCKSIZE = 4096

    def head(self, lines_2find=1):

    self.seek(0) #Rewind file

    return [super(File, self).next() for x in xrange(lines_2find)]

    def tail(self, lines_2find=1):

    self.seek(0, 2) #Go to end of file

    bytes_in_file = self.tell()

    lines_found, total_bytes_scanned = 0, 0

    while (lines_2find + 1 > lines_found and

    bytes_in_file > total_bytes_scanned):

    byte_block = min(

    self.BLOCKSIZE,

    bytes_in_file - total_bytes_scanned)

    self.seek( -(byte_block + total_bytes_scanned), 2)

    total_bytes_scanned += byte_block

    lines_found += self.read(self.BLOCKSIZE).count('\n')

    self.seek(-total_bytes_scanned, 2)

    line_list = list(self.readlines())

    return line_list[-lines_2find:]

    def backward(self):

    self.seek(0, 2) #Go to end of file

    blocksize = self.BLOCKSIZE

    last_row = ''

    while self.tell() != 0:

    try:

    self.seek(-blocksize, 1)

    except IOError:

    blocksize = self.tell()

    self.seek(-blocksize, 1)

    block = self.read(blocksize)

    self.seek(-blocksize, 1)

    rows = block.split('\n')

    rows[-1] = rows[-1] + last_row

    while rows:

    last_row = rows.pop(-1)

    if rows and last_row:

    yield last_row

    yield last_row用法示例:

    with File('file.name') as f:

    print f.head(5)

    print f.tail(5)

    for row in f.backward():

    print row

    展开全文
  • 文件头

    2021-06-13 06:57:07
    中文名文件头位置位于文件开头任务承担一定任务的数据类别文件头定义编辑文件头是位于文件开头的一段承担一定任务的数据。一般都在开头的部分。文件头解释编辑文件头是直接位于文件中的一段数据,是文件的一部分大家...

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

    文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。

    中文名

    文件头

    位    置

    位于文件开头任    务

    承担一定任务的数据

    类    别

    文件头定义

    编辑

    文件头是位于文件开头的一段承担一定任务的数据。一般都在开头的部分。

    文件头解释

    编辑

    文件头是直接位于文件中的一段数据,是文件的一部分

    大家应该知道,微机中的文件有很多种类型,而相同类型的文件一般还会多多少少有一些不同的地方.文件的类型有EXE,COM,BMP,GIF,WMV,APE,RMVB,FLV,SWF,TXT,CPP,ASM等等,当然有的文件根本就没有文件头,比如说TXT,不信的话可以用UltraEdit打开一个文本文件,除了这个文本文件本身的字符,你不会看到任何其他的数据.不同类型的文件,只要拓展名不同,操作系统就可以识别这个文件,并用不同的程序来打开这个文件了,比如JPEG文件,它的拓展名一般是jpg,当双击这种类型的文件时,操作系统会自动选择相应的程序来打开这个文件,比如用ACDSee打开.但值得注意的是,相同类型的文件是有不同的地方的,这回拿BMP来举例,大家可以想象一下不同的图片之间最大的不同是什么,有人可能会说是内容,我可以告诉你,你想歪了!不知道大家有没有在看到各种不同大小的图像的时候想过图像浏览软件是怎样识别图像的大小的?这其实就是文件头的功劳!下面给大家演示一下:

    先用Windows自带的画图软件创建一个64*64像素的16位纯白BMP图像,保存为1.bmp

    然后将图像的大小改为128*64,另存为2.bmp

    在ACDSee的浏览界面看到的两个东西

    再用UltraEdit同时打开这两个文件,看看这两个文件的前32个字节:

    1.bmp:

    00000000h: 42 4D 76 08 00 00 00 00 00 00 76 00 00 00 28 00 ; BMv.......v...(.

    00000010h: 00 00 40 00 00 00 40 00 00 00 01 00 04 00 00 00 ; ..@...@.........

    2.bmp:

    00000000h: 42 4D 76 10 00 00 00 00 00 00 76 00 00 00 28 00 ; BMv.......v...(.

    00000010h: 00 00 80 00 00 00 40 00 00 00 01 00 04 00 00 00 ; ..?..@.........

    由于这是十六进制的数据,所以要将原来图像的宽度和高度换成十六进制,以便找到我们想要看到的数据

    十进制的128等于十六进制的80,十进制的64等于十六进制的40.这样在第二行好像有我们找的数据

    这个过程只是为了让大家了解一下文件头,其实这些数据都是有标准的,百度百科的BMP词条就有BMP文件的文件结构

    LONG biWidth; //的宽度,以像素为单位(18-21字节)

    LONG biHeight; // 位图的高度,以像素为单位(22-25字节)

    18-21字节的数据是80 00 00 00,这是个双字,其实就是80,内存中的数据就是这么放的,这个不是问题

    写这么多大家应该对文件头有一点了解了吧?

    文件头就是为了描述一个文件的一些重要的属性,它告诉了打开并处理该文件的程序这些属性,比如上面说的BMP的文件头将长宽像素值告诉了ACDSee,ACDSee会根据文件头中的数据以及图像数据的正文把图像显示出来

    文件头常见文件的文件头

    编辑

    jpg: 255,216

    gif: 71,73

    bmp: 66,77

    png: 137,80

    doc: 208,207

    docx: 80,75

    xls: 208,207

    xlsx: 80,75

    js: 239,187

    swf: 67,87

    mp3: 73,68

    wma: 48,38

    mid: 77,84

    rar: 82,97

    zip: 80,75

    xml: 60,63

    用文件头判断。直接读取文件的前几个字节。

    常用文件的文件头如下(16进制):

    JPEG (jpg),文件头:FFD8FFE0或FFD8FFE1或FFD8FFE8

    GIF (gif),文件头:47494638PNG (png),文件头:89504E47

    TIFF (tif),文件头:49492A00

    Windows Bitmap (bmp),文件头:424DC001

    CAD (dwg),文件头:41433130

    Adobe Photoshop (psd),文件头:38425053

    Rich Text Format (rtf),文件头:7B5C727466

    XML (xml),文件头:3C3F786D6C

    HTML (html),文件头:68746D6C3E

    Email [thorough only] (eml),文件头:44656C69766572792D646174653A

    Outlook Express (dbx),文件头:CFAD12FEC5FD746F

    Outlook (pst),文件头:2142444E

    MS Word/Excel (xls.or.doc),文件头:D0CF11E0

    MS Access (mdb),文件头:5374616E64617264204A

    WordPerfect (wpd),文件头:FF575043

    Adobe Acrobat (pdf),文件头:255044462D312E

    Quicken (qdf),文件头:AC9EBD8F

    Windows Password (pwl),文件头:E3828596

    ZIP Archive (zip),文件头:504B0304

    RAR Archive (rar),文件头:52617221

    Wave (wav),文件头:57415645

    AVI (avi),文件头:41564920

    Real Audio (ram),文件头:2E7261FD

    Real Media (rm),文件头:2E524D46

    MPEG (mpg),文件头:000001BA

    MPEG (mpg),文件头:000001B3

    Quicktime (mov),文件头:6D6F6F76

    Windows Media (asf),文件头:3026B2758E66CF11

    MIDI (mid),文件头:4D546864

    展开全文
  • 接下来是小编为大家收集的linux文本文件查看、显示命令,欢迎大家阅读:linux文本文件查看、显示命令1、cat 显示文件内容命令。命令格式:#cat [[选项]] 常用选项:-b,计算所有非空输出行,开始行编号为1。-n,计算...

    Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。接下来是小编为大家收集的linux文本文件查看、显示命令,欢迎大家阅读:

    linux文本文件查看、显示命令

    1、cat 显示文件内容命令。

    命令格式:#cat [[选项]]

    常用选项:

    -b,计算所有非空输出行,开始行编号为1。

    -n,计算所有输出行(包括空行),开始行编号为1。

    -s,将相连的多个空行用一个空行来代替。

    -e,在每行的未尾添加$符号,便于确认每一行,因为有些行内容太长了,在显示时会在显示器上以多行表示。

    命令使用说明:

    例子:

    例A: 把 textfile1 的文件内容加上行号后输入 textfile2 这个文件里

    #cat -n textfile1 > textfile2

    例B: 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3

    #cat -b textfile1 textfile2 >> textfile3

    例C:显示/etc/fstab文件的内容。

    #cat /etc/fstab

    2、head 查看文件头部内容命令。

    命令格式:# head [[选项]]

    常用选项:

    -c,--bytes=SIZE ,打印文件开头的SIZE字节内容。

    -n,--lines=NUMBER,打印文件开头的NUMBER行,默认是输出前面10行。

    -q,表明不显示文件名的首部。

    -v,表明要显示文件名的首部。

    命令使用说明:

    用这个命令主要是用来显示文件我头部内容。以确认是不是我们想要打开或查找的文件。

    例子:

    例A:比如,我的/mnt/D目录下有一个文件名“readme.txt”,我想看它头几行的内容,可用命令:

    # head /mnt/D/readme.txt

    Macromedia

    Flash Player 6 for Linux

    Mozilla Plug-in and Standalone players

    Update Version 6.0r79

    4 March 2003

    New in This Version

    -------------------

    find for the dir

    3、tail 查看文件尾部内容命令。

    命令格式:# tail [[选项]]

    常用选项:

    -c,--bytes=SIZE ,打印文件最后的SIZE字节内容。

    -n,--lines=NUMBER,打印文件最后的NUMBER行,默认是输出前面10行。

    -q,表明不显示文件名的首部。

    -v,表明要显示文件名的首部。

    命令使用说明:

    用这个命令主要是用来显示文件我尾部内容。以确认是不是我们想要打开或查找的文件。

    例子:

    例A:在上例中,若想看后面10行的内容,可用命令:

    #tail /mnt/D/readme.txt

    2) Browser version

    3) Reproducible steps including a URL to the web site where the

    problem was encountered.

    If we need further information about a bug, you will be contacted. An

    automated reply will be sent to assure you that we have received your

    bug report. Due to the volume of mail received we are not able to

    individually respond to each report.

    4、grep 查找文件内容命令。

    命令格式:#grep [[选项]]

    常用选项:

    -c,对匹配的行进行计数

    -l,只显示包含匹配的文件的文件名。

    -h,不显示包含匹配的文件的文件名。

    -i,产生区分大小写的匹配,默认情况是区分大小写的。

    -v,列出不匹配的行。

    命令使用说明:

    这个命令主要是用来在终端中显示查找某个特定的字符串,找出与给定模式相匹配的内容。文件列表中,各个文件之间用空格分开。

    例子:

    例A:在文件example中搜索匹配字符“text file”。

    #grep 'text file' example

    5、more 分页显示文件命令。

    命令格式:more [[选项]]

    常用选项:

    -c,在文本翻面时从头清除一行,后再最后写下一行。通常,more清除屏幕,然后再写每一行。

    -n,用来建立能显示n行的显示屏窗口。

    -d,显示操作提示符:“Press space to continue,'q' quit",以代替more的默认提示符。

    -s,把连续的空行压缩为一行。

    -p,不滚屏,清屏并显示文本。

    命令使用说明:

    用这命令在终端分屏显示文件内容。

    例子:

    例A:分页显示文件/root/log.txt的内容。

    #more /root/log.txt

    6、less 分页显示文件命令

    命令格式:less [[选项]]

    常用选项:

    -?,在屏幕下面显示less的使用帮助。

    -a,在当前屏幕显示的最后一行之后开始查询。

    -c,从顶行向下全屏重写。

    -E,显示到文件尾后自动退出less。默认按Q键退出。

    -n,去掉行号。

    -s,将多个连续空行压缩为一行。

    -x n,指定每次按制表符走n格,n的默认值为8 。

    命令使用说明:

    这个命令与more功能大致相同,但less可以按 page up 和page down这两个键向前或向后播页。而more没有这个功能。

    看了“linux文本文件查看、显示命令”还想看:

    展开全文
  • namespaceG2.Common{/// ///用于取得一个文本文件的编码方式(Encoding)。/// public static classTextEncodingHelper{/// ///取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将...

    usingSystem;usingSystem.IO;usingSystem.Text;namespaceG2.Common

    {///

    ///用于取得一个文本文件的编码方式(Encoding)。///

    public static classTextEncodingHelper

    {///

    ///取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。///文件的字符集在Windows下有两种,一种是ANSI,一种Unicode。///对于Unicode,Windows支持了它的三种编码方式,一种是小尾编码(Unicode),一种是大尾编码(BigEndianUnicode),一种是UTF-8编码。///我们可以从文件的头部来区分一个文件是属于哪种编码。当头部开始的两个字节为 FF FE时,是Unicode的小尾编码;当头部的两个字节为FE FF时,是Unicode的大尾编码;当头部两个字节为EF BB时,是Unicode的UTF-8编码;当它不为这些时,则是ANSI编码。///按照如上所说,我们可以通过读取文件头的两个字节来判断文件的编码格式///

    /// 文件名。

    ///

    public static System.Text.Encoding GetFileEncoding(this stringfilename)

    {if (!File.Exists(filename))

    {throw new Exception("文件"" + filename + ""不存在!");

    }using (var fs = newSystem.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read))using (var br = newSystem.IO.BinaryReader(fs))

    {var buffer = br.ReadBytes(2);if (buffer[0] >= 0xEF)

    {if (buffer[0] == 0xEF && buffer[1] == 0xBB)

    {returnSystem.Text.Encoding.UTF8;

    }if (buffer[0] == 0xFE && buffer[1] == 0xFF)

    {returnSystem.Text.Encoding.BigEndianUnicode;

    }if (buffer[0] == 0xFF && buffer[1] == 0xFE)

    {returnSystem.Text.Encoding.Unicode;

    }

    }returnGetEncodingWithBomUtf8(fs, System.Text.Encoding.Default);

    }

    }///

    ///通过给定的文件流,判断文件的编码类型 (解决了不带BOM的 UTF8 编码问题 )///

    /// 文件流

    /// 默认编码

    /// 文件的编码类型

    private staticSystem.Text.Encoding GetEncodingWithBomUtf8(Stream fs, Encoding defaultEncoding)

    {byte[] unicode = new byte[] { 0xFF, 0xFE, 0x41};byte[] unicodeBig = new byte[] { 0xFE, 0xFF, 0x00};//带BOM

    byte[] utf8 = new byte[] { 0xEF, 0xBB, 0xBF};var reVal =defaultEncoding;using (var r = newSystem.IO.BinaryReader(fs))

    {byte[] ss = r.ReadBytes(4);if (ss[0] == 0xFE && ss[1] == 0xFF && ss[2] == 0x00)

    {

    reVal=Encoding.BigEndianUnicode;

    }else if (ss[0] == 0xFF && ss[1] == 0xFE && ss[2] == 0x41)

    {

    reVal=Encoding.Unicode;

    }else{if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF)

    {

    reVal=Encoding.UTF8;

    }else{inti;int.TryParse(fs.Length.ToString(), outi);

    ss=r.ReadBytes(i);if(IsUtf8Bytes(ss))

    {

    reVal=Encoding.UTF8;

    }

    }

    }returnreVal;

    }

    }///

    ///判断是否是不带 BOM 的 UTF8 格式///

    ///

    ///

    private static bool IsUtf8Bytes(byte[] data)

    {int charByteCounter = 1;  //计算当前正分析的字符应还有的字节数

    for (int i = 0; i < data.Length; i++)

    {var curByte = data[i]; //当前分析的字节.

    if (charByteCounter == 1)

    {if (curByte >= 0x80)

    {//判断当前

    while (((curByte <<= 1) & 0x80) != 0)

    {

    charByteCounter++;

    }//标记位首位若为非0 则至少以2个1开始 如:110XXXXX...........1111110X

    if (charByteCounter == 1 || charByteCounter > 6)

    {return false;

    }

    }

    }else{//若是UTF-8 此时第一位必须为1

    if ((curByte & 0xC0) != 0x80)

    {return false;

    }

    charByteCounter--;

    }

    }if (charByteCounter > 1)

    {throw new Exception("非预期的byte格式!");

    }return true;

    }

    }

    }

    展开全文
  • python解析文本文件

    2021-03-05 22:40:59
    python解析的文件原始数据:汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力...
  • 文本文件单词的检索与计数》由会员分享,可在线阅读,更多相关《文本文件单词的检索与计数(15页珍藏版)》请在人人文库网上搜索。1、文本文件单词的检索与计数专业:软件工程 班级: 1227班 姓名: 王晓春 学号: ...
  • matlab处理txt文本文件

    2021-04-18 08:44:07
    二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都...
  • Java读写文本文件

    2021-03-03 11:53:57
    使用Java操作文本文件的方法详解 使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾...
  • 本篇文章主要给大家介绍PHP不断地向文件头部...例:我们需要给一个叫“ hello.txt”的文件头部不断写入内容即每刷新一次页面就自动在头部写入内容。代码示例如下:/*** 不断的向文件头部写入内容*/$fileName = 'he...
  • 在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。看似正确的错误代码很多代码看似正确,但是其实都是错的。一起来看下...
  • 第第 PAGE 1 页 共 NUMPAGES 1 页linux文本文件查看、显示命令Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。接下来是小编为...
  • 用shell脚本删除文本文件头几行注释,并交换前两列内容一个完整例子 一个完整例子 首先假如有一个要处理的文件X,其中内容如下 #y x 数据 1 9 0.10 1 10 0.20 1 11 0.30 2 9 0.40 2 10 0.50 2 11 0.70 3 9 0.80 3 10...
  • 现有一文件,其扩展名未知或标记错误。...我们可以使用一个文本编辑工具如UltraEdit打开文件(16进制模式下),然后看文件头是什么字符,以下是常见文件类型的文件头字符(16进制),希望对你有帮助:JPEG (jpg),文件头...
  • 一般情况下,CSS和JavaScript都定义在元素中的,而定义在HTML语言头部的内容往往不会在网页上直接显示。它用于包含当前文档的相关信息。Document标签HTML文件的标题显示在浏览器的标题栏,用以说明文件的用途。每...
  • 最近由于项目需要实现修改文件的功能,所以,博主认真查阅了一些资料,但是,很遗憾,并没有太多的 收获。好的,首先我先叙述下功能要求:其实很简单,就是Shell中sed命令的C语言实现,实 现定位到所需要的字段的那...
  • 扩展名文件头标识(HEX)文件描述12300 00 1A 00 05 10 04Lotus 1-2-3 spreadsheet (v9) file3gg; 3gp; 3g200 00 00 nn 66 74 79 70 33 67 703rd Generation Partnership Project 3GPP (nn=0x14) and 3GPP2 (nn=0x20) ...
  • Linux查看文本文件

    2021-05-17 20:52:09
    lessless程序可以查看一个文本文件的内容:$ less .bashrc# ~/.bashrc: executed by bash(1) for non-login shells.# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)# for examples# If...
  • 文本编辑器是非常重要的工具,无论是显示简单文本文件还是需要修改某些系统配置文件。在Red Hat Linux系统中有很多不同的文件显示及编辑处理工具,在此进介绍一些常用的显示及编辑命令。4.5.1 显示文件内容Cat最...
  • 设置文件头 设置方法 //-- ---------------------------- //--> @Description //--> @Param //--> @return //-- ---------------------------- 添加后 使用的时候 func 回车就可以
  • 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的, 那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼高手们告戒说,fseek()定位文件指针只能用于二进制文件,文本文件要计算移动位数,易出差错,小弟在学习中尝试将fseek()用于文本文件,一点心得,发出来共享!...
  • 双击“文本文件输入”控件进入其配置界面,单击“浏览”选择需要进行数据粒度转换的文件personnel_data.txt文件,单击“增加”将该文件加入“选中的文件”中。 单击“内容”,删除“分隔符”处的;,单击一次...
  • css文件头部怎么写?

    2021-06-10 11:08:30
    css文件头部怎么写?1、@charset "utf-8"的声明@charset规则用于指定样式表中使用的字符编码;它必须是样式表中的第一个元素(必须在样式表最开头,它之前不能有任何元素或字符),如果定义了多个@charset规则,则只会...
  • VS---文本文件: 标识

    2021-07-09 09:13:50
    要知道具体是哪种编码方式,需要判断文本开头的标志, 下面是所有编码对应的开头标志: EF BB BF UTF-8 FE FF UTF-16/UCS-2, little endian FF FE UTF-16/UCS-2, big endian FF FE 00 00 UTF-32/UCS-4, little ...
  • Linux 文本文件及处理

    2021-05-17 23:48:39
    一、什么是文本信息提到文本文件大家可能想到windows下的txt文件,除此之外呢?在linux下有哪些文本信息呢?程序源文件标准输入输出普通文本文件配置文件文本型网络协议?因特网大部分传输层以上协议是文本型协议...
  • eml 文件头解析

    2021-06-13 14:14:51
    先简单说明下 eml 的格式:邮件是由邮件和邮件体构成,邮件体又可能由文本、超文本和附件构成,他们之间是通过 boundary 隔开,在每个 boundary 区域,可以看做由 header + value 组成。很显然,可以使用递归解析...
  • 文本文件 1.open()内置函数--必须加close操作保存文件 (1)语法 (2)参数 (3)文件打开模式 (4)文件对象属性与常用方法 (5)举例 2.上下文管理语句with (1)语法 (2)参数 (3)举例 文本文件 1.open()内置函数-...
  • java 识别 big5编码文本文件[2021-02-02 17:15:35]简介:分析:(推荐教程:java课程)通过题目的意思我们可以知道如下内容:ArrayList集合里存储的是字符串遍历ArrayList集合,把数据获取然后存储到文本文件中文本文...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 347,271
精华内容 138,908
关键字:

文本文件文件头