Python基础---文件File的处理 (一)

文件File的读写

使用文件:

1 十年生死两茫茫,不思量,自难忘。 
2 千里孤坟,无处话凄凉。 
3 纵使相逢应不识,尘满面,鬓如霜。 
4 夜来幽梦忽还乡,小轩窗,正梳妆。 
5 相顾无言,惟有泪千行。 
6 料得年年肠断处:”明月夜,短松冈。

文件常用函数:

一、指针pointer

1、通俗讲即光标,程序根据指针位置进行后续操作

2、指针相关函数:

  1、tell()

    file.tell()  

      查看当前指针的位置,返回整数

1 file_obj = open('test.txt', 'r')
2 x = file_obj.tell()
3 print(x)
4 file_obj.close()
5 --->0

 

 

  2、seek()  调整指针位置,无返回值

    file.seek(num)  

      调整至真到num的位置,从开头计算第num个

    file.seek(offset, whence)  

      offset:开始的偏移量,也就是代表需要移动偏移的字节数

      whence:可选,默认值为 0;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

 

一、打开Open

1、基本用法:open()

  file = open(file_path, '模式')

    file_path:文件的路径

    模式:基本模式:

          1、w:wirte写入:文件不存在时新建文件,存在时打开文件并清空文件内容

                    只能执行写入操作

          2、r :read读取 :文件不存在时报错,存在时打开文件并将指针指向文件开头位置

                    只能执行读取操作

          3、a:append追加:文件不存在时新建文件,存在时打开文件并将指针指向文件末尾位置

                    只能执行写入操作

          4、x:xor异或:文件不存在时新建文件,存在时保存

                      只能执行写入操作

         扩展模式:(不能单独使用,只能和基本模式一起用)

          1、+:plus增强:使任何基本模式变为读写模式,如 'w+', 'a+'等

          2、b:bytes位模式:获取数据或写入数据的类型变更为bytes类型

1 file_obj = open('test.txt', 'w')
2 file_obj = open('test.txt', 'r')
3 file_obj = open('test.txt', 'a')
4 file_obj = open('test.txt', 'x')
5 file_obj.close()

 

 

二、读取read

1、基本用法:read()

  file.read()  读取所有内容

  file.read(num)  读取指定个数的字符

1 file_obj = open('test.txt', 'r')
2 x2 = file_obj.read(10)
3 print(x2)
4
file_obj.close()
5 --->十年生死两茫茫,不思

 

  file.readline()  一次读取一行数据

  file.readline(num)  读取一行数据的前num个字符

  file.readlines()  一次性将文件内容按行读取到list中,返回list

1 file_obj = open('test.txt', 'r')
2 x5 = file_obj.readlines()
3 print(x5)
4 file_obj.close()
5 --->['十年生死两茫茫,不思量,自难忘。 \n', '千里孤坟,无处话凄凉。 \n', '纵使相逢应不识,尘满面,鬓如霜。 \n', '夜来幽梦忽还乡,小轩窗,正梳妆。 \n', '相顾无言,惟有泪千行。 \n', '料得年年肠断处:”明月夜,短松冈。']

 

 

 

  file.readlines(num)  若num不足一行数据的长度,则输出一行数据;

               若num超过一行数据的长度,则输出该行数据以及下一行数据

 1 1 file_obj = open('test.txt', 'r')
 2 2 x6 = file_obj.readlines(10)
 3 3 print(x6)
 4 4 file_obj.close()
 5 5--->['十年生死两茫茫,不思量,自难忘。 \n']
 6 6 
 7 7 file_obj = open('test.txt', 'r')
 8 8 x7 = file_obj.readlines(20)
 9 9 print(x7)
10 10 file_obj.close()
11 11 --->['十年生死两茫茫,不思量,自难忘。 \n', '千里孤坟,无处话凄凉。 \n']

 

三、写入write

1、基本用法:write()

  file.write(str)  将内容写入文件

  file.writelines(seq)  将容器中的数据写入文件

              如果容器为字典,则写入的是key

1 file_obj = open('test.txt', 'w+')
2 file_obj.writelines(['asd', 'dwwa'])
3 file_obj.close()

 

、with用法

  以上方法在异常处理文件的时候,会无法正常关闭文件,python提供了另外一种方法进行文件的读取写入操作

  语法:with open(file_path, '模式') as fp:

         x = fp.read()

  with操作会自动关闭文件,推荐对文件操作时,使用with语法

 

五、截取truncate

  用于从文件的首行首字符开始截断,截断文件为 size 个字节,无 size 表示从当前位置截断;截断之后 V 后面的所有字符被删除

1、基本用法:truncate()

  file.truncate(size)  num参数代表的是字节单位,而不是字符单位

 

字符,字节,字符集三者概念

1、字符:一个独立存在的文字就是一个字符,无论什么语言什么符号

2、字节:用于存储数据的基本单位

    1TB = 1024GB

    1GB = 1024MB

    1MB = 1024KB

    1KB = 1024B   (B就是字节)

    1B = 8bytes 

3、字符集:

    基本的英文编码(1个字节)

      ascii码       --->记录英文和数字及部分符号的编码(128个)

      扩展ascii码  --->增加了ascii码的数量(256个)

    制作特定语言的编码(每个汉字占用2个字节)

      gb2312

      gb18030

      gbk编码   包含了所有汉字

      big5编码  繁体中文编码

    制作世界统一编码(每个汉字占用3个字节)

      utf-8

      utf-16

posted @ 2018-02-26 21:41  风缘  阅读(314)  评论(0编辑  收藏  举报