当前位置: 首页 > news >正文

文件的常用操作

目录

一、文件的常用操作

1、创建文件

2、读文件

3、写文件

4、删除文件


一、文件的常用操作

1、创建文件

需求:在d盘的a目录下创建hi.txt文件,a目录已经创建好

# 需求:在d盘的a目录下创建hi.txt文件,a目录已经创建好
"""1.如果我们要创建一个文件,只需要以mode="w"形式打开文件即可2.如果该文件不存在,系统就会自动创建该文件3.注意:encoding="utf-8"是关键字参数,不能少encoding,因为encoding并不是open()方法的第三个形参
"""f1=open("d://a//hi.txt","w",encoding="utf-8")
print(f"文件创建成功,类型是{type(f1)}")

2、读文件

# 需求:读取在d盘的a目录下的hello.txt文件,hello.txt已经存在

hello.txt文件

方式1 

# 需求:读取在d盘的a目录下的hello.txt文件,hello.txt已经存在# 打开文件
f=open("d://a//hello.txt","r",encoding="utf-8")# 读取方式1:read(),一次返回整个文件的内容
content=f.read()
# 关闭文件,释放文件占用的系统资源
f.close()
print(content)

方式2 

# 需求:读取在d盘的a目录下的hello.txt文件,hello.txt已经存在# 打开文件
f=open("d://a//hello.txt","r",encoding="utf-8")# 读取方式2:f.readline(),注意readline,字符串末尾保留换行符\n
line1=f.readline()
line2=f.readline()
print(f"第1行数据是:{line1}")
print(f"第2行数据是:{line2}")
f.close()

# 需求:读取在d盘的a目录下的hello.txt文件,hello.txt已经存在# 打开文件
f=open("d://a//hello.txt","r",encoding="utf-8")# 读取方式2:f.readline(),注意readline,字符串末尾保留换行符\n
# line1=f.readline()
# line2=f.readline()
# print(f"第1行数据是:{line1}")
# print(f"第2行数据是:{line2}")
# f.close()# 循环读取整个文件,一行一行的读取
while True:line_content=f.readline()# 如果为"",表示文件读取完毕if line_content=="":breakprint(line_content,end="")
f.close()

方式3

# 需求:读取在d盘的a目录下的hello.txt文件,hello.txt已经存在# 打开文件
f=open("d://a//hello.txt","r",encoding="utf-8")# 读取方式3:f.readlines()列表形式读取文件中的所有行
lines=f.readlines()
print(f"lines的类型是:{type(lines)}") # list
print(f"lines的内容是:{lines}")
print("---------------------------")for line in lines:print(line,end="")
f.close()

方式4

# 需求:读取在d盘的a目录下的hello.txt文件,hello.txt已经存在# 打开文件
f=open("d://a//hello.txt","r",encoding="utf-8")# 读取方式4:for line in f形式读取文件
for line in f:print(line,end="")
f.close()

3、写文件

# 需求

1)在d盘的a目录下创建abc.txt文件,并写入10句"hello,python"到文件

2)在abc.txt内容覆盖成新的内容10句,"hi,c++"

3)在abc.txt原有内容基础上追加10句,"你好!java"

"""1.mode="w",打开文件,如果文件不存在,会创建;如果文件已经存在,会先截断打开的文件,也就是清空文件内容2.如果我们希望以追加的方式写入,需要mode="a"
"""
# w模式打开文件,文件截断原来内容
# f=open("d://a//abc.txt","w",encoding="utf-8")# a模式打开文件,是在原来的基础上追加内容
# f=open("d://a//abc.txt","a",encoding="utf-8")# 1)在d盘的a目录下创建abc.txt文件,并写入10句"hello,python"到文件
# f=open("d://a//abc.txt","w",encoding="utf-8")
# i=1
# while i<=10:
#     f.write(f"hello,python\n")
#     i+=1
# f.close()# 2)在abc.txt内容覆盖成新的内容10句,"hi,c++"
# f=open("d://a//abc.txt","w",encoding="utf-8")
# i=1
# while i<=10:
#     f.write(f"hi,c++\n")
#     i+=1
# f.close()# 3)在abc.txt原有内容基础上追加10句,"你好!java",指定为a追加模式即可
f=open("d://a//abc.txt","a",encoding="utf-8")
i=1
while i<=10:f.write(f"你好!java\n")i+=1
f.close()

4、删除文件

# 需求

1)判断在d盘的a目录下是否有hi.txt文件,如果有则删除

2)如果没有,则提示"文件不存在"

# 引入os模块
import osif os.path.exists("d://a//hi.txt"):os.remove("d://a//hi.txt")print("文件已删除")
else:print("文件不存在")

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 5 个最佳开源无代码项目管理工具
  • 【运维监控】Prometheus+grafana监控zookeeper运行情况
  • 虚拟背景扣像SDK解决方案,电影级抠像技术
  • 交叉编译工具链的安装及带wiringPi库的交叉编译实现
  • xshell密钥方式连接阿里云Linux
  • 【数据结构】2——二叉树遍历
  • ThinkCMF框架任意内容包含漏洞的讲解
  • ⭐Unity 安卓环境中正确地读取和处理 XML 文件
  • OpengGL教程(三)---使用VAO和VBO方式绘制三角形
  • python学习第九节:爬虫实战-抓取地址库
  • BMC+ssh和共享平台的Ironic服务,实现裸金属服务器的远程管理与调用
  • Java8 流的简单介绍
  • 如何防止ZIP压缩文件被随意打开?
  • 洞悉地下寒潮,守护温暖家园:智能CG-68冻土传感器监测系统
  • Windows 环境下 vscode 配置 C/C++ 环境
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【剑指offer】让抽象问题具体化
  • 08.Android之View事件问题
  • ECMAScript6(0):ES6简明参考手册
  • ES6简单总结(搭配简单的讲解和小案例)
  • java概述
  • JS学习笔记——闭包
  • PAT A1050
  • python 装饰器(一)
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Spark RDD学习: aggregate函数
  • spring-boot List转Page
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 关于springcloud Gateway中的限流
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信小程序设置上一页数据
  • 最近的计划
  • elasticsearch-head插件安装
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #每天一道面试题# 什么是MySQL的回表查询
  • %@ page import=%的用法
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (力扣)1314.矩阵区域和
  • (一)WLAN定义和基本架构转
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)winform之ListView
  • (转)我也是一只IT小小鸟
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET Core中的去虚
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .net 验证控件和javaScript的冲突问题
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET的数据绑定