初识Python之文件操作篇(上)

简介: 初识Python之文件操作篇(上)

前言

在计算机信息系统中,根据信息的储存时间长短,可以分为临时性信息和永久性信。一般储存在CPU和磁盘中,本期我们将介绍关于文件操作处理的一些基本知识,有利于我们平时开发保存数据等。


使用open()函数打开文件


open(filename,mode="r",buffering=-1,encoding=None,errors=None,newline=None,closed=True,opener=None)


filename:表示要打开的文件名

mode:可选参数,文件打开模式,一般不需要设置,因为默认是“r”可读

buffering:可选参数,缓冲区大小

encoding:文件编码类型

errors:编码错误处理方法

newline:控制通用换行模式的行为

closefd:控制在关闭文件时是否彻底关闭文件


image.png

fo=open("王小王.txt","wb")#用wb格式打开指定文件,如果没有就会自动创建
print("文件名:",fo.name)
print("关闭文件!",fo.closed)
print("访问模式:",fo.mode)


image.png


注意:我们在进行文件操作的时候,一定要利用优化代码进行,不然没有关闭文件会使得CPU蹭蹭往上飙升,这个时候你的电脑就无法承受的。


'''flush()'''

'''flush的功能是自动刷新缓冲区,一般情况下,我们在关闭文件的时候就会

自动刷新缓冲区,但是有的时候我们还是要通过该函数来在,关闭之前刷新一下

格式:文件名.flush(),一般在关闭文件(文件名.close())之前就要刷新一下,有的时候根据自己需要

'''




'''fileno()'''

'''该函数的功能是返回一个整型的文件描述符'''

'''isatty()'''

'''该函数是来检测文件是否连接到一个终端设备,如果是则返回TRUE'''



'''next'''
fo=open("王小王.txt","r")
print("文件名:",fo.name)
for i in range(5):
    line=next(fo)
    print("第%d行-%s"%(i,line))
fo.flush()
fo.close()


image.png

为什么会出现乱码了?这个就是因为我们在里面没有加入编码转换encoding,下面我们在属性里面加入encoding=“utf-8”试试

image.png


'''read(),readline()'''
'''read()可以读取全部内容,也可以读取一行一行的,但是我们在实际操作的过程中
更倾向于readline()
'''
# 利用r+模式打开,使得文件指针会自动放在文件头部
fo=open("王小王.txt","r+")
line=fo.read(3)#读取文件前面3字节的内容
print("读取的内容:",line)
fo.close()


image.png


fo=open("王小王.txt","r+",encoding="utf-8")
for i in range(5):
    line=fo.readline()
    print(line)
fo.close()


image.png


注:还有一个函数readlines(),这个函数需要的可以去专门的CSDN社区看看


'''seek()'''

'''主要是移动文件指针的位置

格式:文件名.seek(offest[,whence])

offest:表示偏移的字节数,whence:表示可选参数,0从文件开头算起,1表示从当前位置算起,2表示从文件末尾算起

'''




'''tell()'''

'''tell()没有参数,功能是获取文件的当前位置,即文件指针当前位置'''




'''truncate()'''

'''

truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。

如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

'''




'''writelines()'''
'''该函数的功能是向文件写入多行字符串'''
fo = open("王小王.txt","w",encoding="utf-8")
fo.writelines("hello,python!")
# 这里也可以通过写入列表,或者其他类型
for i in range(5):
    line=fo.readline()
    print(line)
fo.close()
'''*****************'''
fo =open(r"王小王.txt",encoding="utf-8")
print(fo.readline())
fo.close()

image.png



总结


有句话说的好,“学的东西越多才发现要学的东西太多了”,如果你可以这样感觉,恭喜你终于领悟到了“学无止境”的精髓了。学懂了才是真的懂了,所以我们还是要适量的学习,劳逸结合。

今天的文章还有一些知识点,我们下期文章再会!


相关文章
|
6月前
|
安全 Python
Python语言中常用的文件操作方法探讨
通过上述方法的结合使用,我们可以构筑出强大并且可靠的文件操作逻辑,切实解决日常编程中遇到的文件处理问题。
270 72
|
6月前
|
移动开发 安全 Linux
Python文件操作的"保险箱":with语句深度实战指南
本文深入解析Python中`with`语句的原理与高级应用,通过“保险箱”类比,形象展示资源管理机制。从上下文管理协议到实战场景,涵盖文件、数据库、网络等多种资源的高效安全处理方式,助你写出更优雅、可靠的代码。
161 1
|
7月前
|
缓存 数据库连接 数据库
Python文件操作的“保险箱”:with语句深度实战指南
本文深入探讨Python中with语句在文件操作中的应用及其优势。首先介绍其底层原理,基于上下文管理协议自动管理资源的获取与释放,避免手动关闭文件导致的资源泄漏问题。接着通过基础文件读写、异常处理进阶和复合资源管理等实战场景解析with语句的便捷性与安全性。同时,阐述如何自定义上下文管理器以满足特定需求,并分析其性能考量及优化策略。最后总结实战经验,强调优先使用内置管理器、明确异常处理以及保持代码可读性的重要性,助力开发者高效编写健壮的程序。
191 1
|
7月前
|
自然语言处理 安全 JavaScript
Python文件操作的“保险箱”:with语句深度实战指南
Python中的`with`语句是文件操作和资源管理的强大工具,如同一个智能保险箱,自动处理打开和关闭操作,避免手动管理可能引发的错误。它通过上下文管理协议(`__enter__`和`__exit__`方法)确保资源在使用后正确释放。无论是逐块读取大文件、同时读写文件,还是处理特殊编码文件,`with`语句都能简化代码并提高安全性。此外,自定义上下文管理器可扩展到数据库连接等场景,而常见错误如重复关闭文件或忽略异常也需注意。结合生成器表达式批量处理文件时,`with`语句仍能保持高效和安全。总之,`with`语句是资源管理的瑞士军刀,让复杂操作变得简单可靠。
209 1
|
7月前
|
数据采集 运维 BI
Python 文件操作进阶|使用 shutil 实现高效文件复制
在开发和运维中,处理大量文件是常见需求,如备份配置、归档日志或构建部署包。手动复制粘贴已无法满足高效需求!Python 的 `shutil` 模块提供了强大的文件操作功能,支持单文件复制、目录树迁移及自动化任务构建。本文详解 `shutil.copy()` 基础用法与进阶技巧,如批量复制、自动路径检测、时间戳命名备份等,助你实现高效自动化。结合实战案例(如自动备份系统),让你的代码更专业!学习后,欢迎交流心得,一起精进 Python 技能。关注我,获取更多编程技巧与源码分享!
|
监控 Java 数据处理
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【7月更文挑战第31天】在 Python 系统编程中, 文件操作与 I/O 管理至关重要。
186 2
|
存储 Python
Python文件操作(1)
【10月更文挑战第17天】
253 60
Python文件操作(1)
|
数据采集 存储 Python
Python文件操作2
【10月更文挑战第18天】
121 2
Python文件操作2
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
164 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
存储 Python
Python文件操作
Python文件操作

推荐镜像

更多