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

 更新时间:2022年11月04日 14:01:23   作者:Kkkkangsh  
这篇文章主要为大家介绍了Python基础之文件操作及光标移动详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、文件操作

1、文件的概念

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

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

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

2、代码打开文件的方式

方式一:
	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.文件路径不存在:直接报错
	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.文件路径不存在:  # 创建新的文件
	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.文件路径不存在:  # 创建新的文件
	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、读写模式简写:r、w、a
       	全称:rt、wt、at
须知:
# 1、只能操作文本文件
# 2、读写以字符为单位
# 3、需要指定encoding参数,不填写则采用计算机默认的编码

2、b 二进制模式

	byte模式
1、不是默认的模式,需要指定生成
		rb、wb、ab
须知:
# 1、可以操作任意文件
# 2、读写都是以bytes为单位
# 3、不需要指定encoding参数,不需要编码

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

四、文件诸多方法

1、read()

代码表现:
	文件名.read()
须知:
#  1、一次性读取文件内容,并且光标停留在文件末尾,继续读取则没有内容
#  2、当文件内容比较多的时候,该方法还可能会造成计算机内存溢出
#  3、括号内可以填写数字,在文本模式下,表示读取几个字符
#  4、通常一个中文三个字节(或更多)一个英文字母一个字节

2、for循环

代码表现:
    for 数据值 in 需要遍历的文件:
须知:
# 1、一行行读取文件内容 避免内存溢出现象的产生	

3、line

1、readline
	代码表现:
    文件名.readline()
	须知:
	# 1、一次只读一行内容
2、readlines
	代码表现:
    文件名.readline()
   须知:
	# 1、一次性读取文件内容,会按照行数组织成列表的一个个数据值

4、readable

代码表现:
	代码表现:
    文件名.readable()
须知:
# 1、判断文件是否具备读取数据能力

5、write

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

代码表示:

	 file_object.flush()

五、文件内光标的移动

1、seek()

	移动文件的读取指针到指定位置。seek函数需要使用文件对象进行调用,无返回值。
	seek()有三种用法:
   	seek(offset,whence)
    offset  控制光标移动的位移量(字节)
    whence  模式
        0   基于文件开头移动多少字节
        1   基于光标当前所在位置移动多少字节
        2   基于文件末尾移动多少字节
    ps:1和2只能在二进制模式下使用 0无所谓

2、tell()

	用来获取光标当前的位置(移动的字节数)
    代码表示:
    文件名.tell()
    # 返回光标当前所在的字节数

以上就是Python基础之文件操作及光标移动详解的详细内容,更多关于Python文件操作光标移动的资料请关注脚本之家其它相关文章!

相关文章

  • ​cmd输入python打开微软应用商店的解决方法

    ​cmd输入python打开微软应用商店的解决方法

    在命令控制行中输入python想使用Python环境,却意外打开了微软自带的应用商店,十分苦恼,下面这篇文章主要给大家介绍了关于​cmd输入python打开微软应用商店的解决方法,需要的朋友可以参考下
    2024-03-03
  • Python matplotlib实时画图案例

    Python matplotlib实时画图案例

    这篇文章主要介绍了Python matplotlib实时画图案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 面向初学者的Python编辑器Mu

    面向初学者的Python编辑器Mu

    今天小编就为大家分享一篇关于一个面向初学者的Python编辑器Mu,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Python还能这么玩之用Python修改了班花的开机密码

    Python还能这么玩之用Python修改了班花的开机密码

    今天带大家学习如何用Python修改开机密码,文中有非常详细的代码示例,喜欢恶作剧的小伙伴可以看一下,不过不要乱用哦,需要的朋友可以参考下
    2021-06-06
  • 详解python实现识别手写MNIST数字集的程序

    详解python实现识别手写MNIST数字集的程序

    这篇文章主要介绍了详解python实现识别手写MNIST数字集的程序,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Windows安装Anaconda并且配置国内镜像的详细教程

    Windows安装Anaconda并且配置国内镜像的详细教程

    我们在学习 Python 的时候需要不同的 Python 版本,关系到电脑环境变量配置换来换去很是麻烦,所以这个时候我们需要一个虚拟的 Python 环境变量,这篇文章主要介绍了Windows安装Anaconda并且配置国内镜像教程,需要的朋友可以参考下
    2023-01-01
  • Django 表单模型选择框如何使用分组

    Django 表单模型选择框如何使用分组

    这篇文章主要介绍了Django 表单模型选择框如何使用分组,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • PyCharm中的库Flask安装以及如何使用详解

    PyCharm中的库Flask安装以及如何使用详解

    在学习flask的过程中关于flask安装的过程中遇到了很多的问题,通过自己的摸索和搜寻最终终于能够成功运行,下面这篇文章主要给大家介绍了关于PyCharm中库Flask安装以及如何使用的相关资料,需要的朋友可以参考下
    2023-12-12
  • 一小时学会TensorFlow2之大幅提高模型准确率

    一小时学会TensorFlow2之大幅提高模型准确率

    这篇文章主要介绍了TensorFlow2之大幅提高模型准确率,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • pycharm工具连接mysql数据库失败问题

    pycharm工具连接mysql数据库失败问题

    这篇文章主要介绍了pycharm工具连接mysql数据库失败问题及解决方法,非常不错大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04

最新评论