首页 > 编程学习 > Python文件操作及光标移动介绍

Python文件操作及光标移动介绍

发布时间:2022/12/3 14:48:16

这篇文章主要为大家介绍了Python基础之文件操作及光标移动,有需要的朋友可以借鉴参考下,希望能够有所帮助。

一、文件操作

1、文件的概念

1.文件就是计算机暴露给用户操作硬盘的快捷方式

2.计算机的文件,就是用来储存某种信息的数据

3.在计算机中,文件是以二进制的方式储存信息的

2、代码打开文件的方式

1

2

3

4

5

6

7

8

9

10

11

方式一:

    f = open(文件路径, 读写模式, encoding='utf8')

    f.close()

方式二:  # 子代码运行结束后会自动调用close方法关闭资源

    with open(文件路径, 读写模式,encoding='utf8') as f:

须知:

# 1、open方法的第一个参数是文件路径,并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r

    D:\a\n\t

    r'D:\a\n\t'

# 2、with一次性可打开多个文件

    with open() as f1,open() as f2,open() as f3:

二、文件读写模式

1、'r' 只读模式 read

1

2

3

4

5

6

7

    只能读,不能写

1.文件路径不存在:直接报错

    with open(r'b.txt','r',encoding='utf8') as f:

        print(f.read())

2.文件路径存在:正常读取内容

    with open(r'a.txt', 'r', encoding='utf8') as f:

        print(f.read())

2、'w' 只写模式 write

1

2

3

4

5

6

7

8

9

    只能写,不能看

1.文件路径不存在:  # 创建新的文件

    with open(r'b.txt','r',encoding='utf8') as f:

        pass

2.文件路径存在:  # 先清空文件内容,在重新写入

    with open(r'a.txt', 'r', encoding='utf8') as f:

        f.write('编写内容')

须知:

# 1、编写的内容需要自己加入换行符,在保存后u而要注意他的存在

3、'a' 尾部追写模式 add

1

2

3

4

5

6

7

    只能在文件末尾添加数据

1.文件路径不存在:  # 创建新的文件

    with open(r'b.txt','a',encoding='utf8') as f:

        pass

2.文件路径存在:  # 在文件末尾添加

    with open(r'a.txt', 'a', encoding='utf8') as f:

        f.write('编写内容')

当我们在编写代码的时候 有些部分不知道写什么具体代码 但是也不能空着不写
这个时候可以使用关键字: pass

作用:是为了保证程序结构的完整性,否则会报错

三、文件操作模式

1、t 文本模式

1

2

3

4

5

6

7

    文本模式为默认模式

1、读写模式简写:r、w、a

        全称:rt、wt、at

须知:

# 1、只能操作文本文件

# 2、读写以字符为单位

# 3、需要指定encoding参数,不填写则采用计算机默认的编码

2、b 二进制模式

1

2

3

4

5

6

7

    byte模式

1、不是默认的模式,需要指定生成

        rb、wb、ab

须知:

# 1、可以操作任意文件

# 2、读写都是以bytes为单位

# 3、不需要指定encoding参数,不需要编码

不管是哪种模式,针对文件路径是否存在的情况都是一样的

四、文件诸多方法

1、read()

1

2

3

4

5

6

7

代码表现:

    文件名.read()

须知:

#  1、一次性读取文件内容,并且光标停留在文件末尾,继续读取则没有内容

#  2、当文件内容比较多的时候,该方法还可能会造成计算机内存溢出

#  3、括号内可以填写数字,在文本模式下,表示读取几个字符

#  4、通常一个中文三个字节(或更多)一个英文字母一个字节

2、for循环

1

2

3

4

代码表现:

    for 数据值 in 需要遍历的文件:

须知:

# 1、一行行读取文件内容 避免内存溢出现象的产生  

3、line

1

2

3

4

5

6

7

8

9

10

1、readline

    代码表现:

    文件名.readline()

    须知:

    # 1、一次只读一行内容

2、readlines

    代码表现:

    文件名.readline()

   须知:

    # 1、一次性读取文件内容,会按照行数组织成列表的一个个数据值

4、readable

1

2

3

4

5

代码表现:

    代码表现:

    文件名.readable()

须知:

# 1、判断文件是否具备读取数据能力

5、write

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

1、write

    用于向文件中写入指定数据

    代码表示:

    f = open("a.txt", 'w')

    f.write("写入一行新数据")

    f.close()

2、writeable

    用来判断文件是否可写入数据

    代码表示:

    f = open("nhooo.txt", "a")

    print(f.writable())

        可以写入: Ture

        不可写入: False

3、writelines

    用于接收一个列表,一次性将列表中所有数据写入

    代码表示:

    f = open('a.txt', 'r')

    n = open('b.txt','w+')

    n.writelines(f.readlines())

    n.close()

    f.close()

6、flush

用于刷新内部缓冲区,这是在python中处理fila处理时的最佳实践,可以在将新文本写入/添加到文件之前清除内部缓冲区。将内存中文件数据立刻刷到硬盘 等价于ctrl + s

代码表示:

1

file_object.flush()

五、文件内光标的移动

1、seek()

1

2

3

4

5

6

7

8

9

移动文件的读取指针到指定位置。seek函数需要使用文件对象进行调用,无返回值。

seek()有三种用法:

seek(offset,whence)

offset  控制光标移动的位移量(字节)

whence  模式

    0   基于文件开头移动多少字节

    1   基于光标当前所在位置移动多少字节

    2   基于文件末尾移动多少字节

ps:12只能在二进制模式下使用 0无所谓

2、tell()

1

2

3

4

用来获取光标当前的位置(移动的字节数)

代码表示:

文件名.tell()

# 返回光标当前所在的字节数

以上就是Python基础之文件操作及光标移动详解的详细内容,希望可以对你有帮助

来源:https://www.weidianyuedu.com

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号