翼度科技»论坛 编程开发 python 查看内容

Python基础之文件操作及光标移动详解

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
一、文件操作


1、文件的概念

1.文件就是计算机暴露给用户操作硬盘的快捷方式
2.计算机的文件,就是用来储存某种信息的数据
3.在计算机中,文件是以二进制的方式储存信息的

2、代码打开文件的方式
  1. 方式一:
  2.         f = open(文件路径, 读写模式, encoding='utf8')
  3.         f.close()
  4. 方式二:  # 子代码运行结束后会自动调用close方法关闭资源
  5.         with open(文件路径, 读写模式,encoding='utf8') as f:
  6. 须知:
  7. # 1、open方法的第一个参数是文件路径,并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r
  8.         D:\a\n\t
  9.         r'D:\a\n\t'
  10. # 2、with一次性可打开多个文件
  11.         with open() as f1,open() as f2,open() as f3:
复制代码
二、文件读写模式


1、'r' 只读模式 read
  1.         只能读,不能写
  2. 1.文件路径不存在:直接报错
  3.         with open(r'b.txt','r',encoding='utf8') as f:
  4.                 print(f.read())
  5. 2.文件路径存在:正常读取内容
  6.         with open(r'a.txt', 'r', encoding='utf8') as f:
  7.                 print(f.read())
复制代码
2、'w' 只写模式 write
  1.         只能写,不能看
  2. 1.文件路径不存在:  # 创建新的文件
  3.         with open(r'b.txt','r',encoding='utf8') as f:
  4.                 pass
  5. 2.文件路径存在:  # 先清空文件内容,在重新写入
  6.         with open(r'a.txt', 'r', encoding='utf8') as f:
  7.                 f.write('编写内容')
  8. 须知:
  9. # 1、编写的内容需要自己加入换行符,在保存后u而要注意他的存在
复制代码
3、'a' 尾部追写模式 add
  1.         只能在文件末尾添加数据
  2. 1.文件路径不存在:  # 创建新的文件
  3.         with open(r'b.txt','a',encoding='utf8') as f:
  4.                 pass
  5. 2.文件路径存在:  # 在文件末尾添加
  6.         with open(r'a.txt', 'a', encoding='utf8') as f:
  7.                 f.write('编写内容')
复制代码
当我们在编写代码的时候 有些部分不知道写什么具体代码 但是也不能空着不写
这个时候可以使用关键字: pass
作用:是为了保证程序结构的完整性,否则会报错

三、文件操作模式


1、t 文本模式
  1.         文本模式为默认模式
  2. 1、读写模式简写:r、w、a
  3.                全称:rt、wt、at
  4. 须知:
  5. # 1、只能操作文本文件
  6. # 2、读写以字符为单位
  7. # 3、需要指定encoding参数,不填写则采用计算机默认的编码
复制代码
2、b 二进制模式
  1.         byte模式
  2. 1、不是默认的模式,需要指定生成
  3.                 rb、wb、ab
  4. 须知:
  5. # 1、可以操作任意文件
  6. # 2、读写都是以bytes为单位
  7. # 3、不需要指定encoding参数,不需要编码
复制代码
不管是哪种模式,针对文件路径是否存在的情况都是一样的

四、文件诸多方法


1、read()
  1. 代码表现:
  2.         文件名.read()
  3. 须知:
  4. #  1、一次性读取文件内容,并且光标停留在文件末尾,继续读取则没有内容
  5. #  2、当文件内容比较多的时候,该方法还可能会造成计算机内存溢出
  6. #  3、括号内可以填写数字,在文本模式下,表示读取几个字符
  7. #  4、通常一个中文三个字节(或更多)一个英文字母一个字节
复制代码
2、for循环
  1. 代码表现:
  2.     for 数据值 in 需要遍历的文件:
  3. 须知:
  4. # 1、一行行读取文件内容 避免内存溢出现象的产生       
复制代码
3、line
  1. 1、readline
  2.         代码表现:
  3.     文件名.readline()
  4.         须知:
  5.         # 1、一次只读一行内容
  6. 2、readlines
  7.         代码表现:
  8.     文件名.readline()
  9.    须知:
  10.         # 1、一次性读取文件内容,会按照行数组织成列表的一个个数据值
复制代码
4、readable
  1. 代码表现:
  2.         代码表现:
  3.     文件名.readable()
  4. 须知:
  5. # 1、判断文件是否具备读取数据能力
复制代码
5、write
  1. 1、write
  2.         用于向文件中写入指定数据
  3.         代码表示:
  4.     f = open("a.txt", 'w')
  5.     f.write("写入一行新数据")
  6.     f.close()
  7. 2、writeable
  8.         用来判断文件是否可写入数据
  9.         代码表示:
  10.     f = open("nhooo.txt", "a")
  11.     print(f.writable())
  12.             可以写入: Ture
  13.             不可写入: False
  14. 3、writelines
  15.         用于接收一个列表,一次性将列表中所有数据写入
  16.         代码表示:
  17.     f = open('a.txt', 'r')
  18.     n = open('b.txt','w+')
  19.     n.writelines(f.readlines())
  20.     n.close()
  21.     f.close()
复制代码
6、flush

用于刷新内部缓冲区,这是在python中处理fila处理时的最佳实践,可以在将新文本写入/添加到文件之前清除内部缓冲区。将内存中文件数据立刻刷到硬盘 等价于ctrl + s
代码表示:
  1.          file_object.flush()
复制代码
五、文件内光标的移动


1、seek()
  1.         移动文件的读取指针到指定位置。seek函数需要使用文件对象进行调用,无返回值。
  2.         seek()有三种用法:
  3.            seek(offset,whence)
  4.     offset  控制光标移动的位移量(字节)
  5.     whence  模式
  6.         0   基于文件开头移动多少字节
  7.         1   基于光标当前所在位置移动多少字节
  8.         2   基于文件末尾移动多少字节
  9.     ps:1和2只能在二进制模式下使用 0无所谓
复制代码
2、tell()
  1.         用来获取光标当前的位置(移动的字节数)
  2.     代码表示:
  3.     文件名.tell()
  4.     # 返回光标当前所在的字节数
复制代码
以上就是Python基础之文件操作及光标移动详解的详细内容,更多关于Python文件操作光标移动的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/article/266724.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具