Python文件打开读取写入方法实用案例
目录
前言open()方法1. "w",打开一个新的文件并写入内容2. "r",打开文件并读取内容3. "a",以追加内容的模式打开4. 创建一个空的文件with open()方法1. 打开并读取文件,每次读取一行内容2. 打开并写入文件实用案例总结前言
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
(相关资料图)
python中对文件的操作方法经常使用open和with open。下面分别介绍
open()方法
正常情况下,想要打开一个文件并且保证该文件会被关闭。使用open()方法,最后一定要保证关闭文件对象,即调用close()方法。原因是当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘同时释放资源。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。语法格式如下
文件对象f = open(文件名,文件对象访问模式)
其中的文件对象访问模式如下
1. "w",打开一个新的文件并写入内容
这里对象访问模式使用"w",打开文件时,文件存在则清空内容,不存在则创建新的
f = open("1.txt","w")
f.write("今天一直在下雨\n")
f.write("把我整抑郁了\n")
f.write("o(╥﹏╥)o\n")
f.close()2. "r",打开文件并读取内容
f = open("1.txt","r")
print(f.read()) #读取全部内容
f.close()
f = open("1.txt","r")
print(f.readline()) #一个f.readline()只读第一行
f.close()
f = open("1.txt","r") #全部读,但是用列表的方式展示
print(f.readlines())
f.close()3. "a",以追加内容的模式打开
上面使用"w"的时候文件存在则会清除内容,如果我们想要打开一个已经存在内容的文件并追加内容则可以使用"a"。如下打开存在的"1.txt"文件,并追加一行内容
f = open("1.txt","a")
f.write("帅哥出来玩吗")
f.close()4. 创建一个空的文件
open("12.txt","w").close()with open()方法
open()使用后需要调用f.close()方法,但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法。推荐使用with open()
with用于创建一个临时的运行环境,运行环境中的代码执行完后自动安全退出环境。
1. 打开并读取文件,每次读取一行内容
方法一:
with open("1.txt","r") as file:
for line in file: #依次遍历
#print(line) #默认输出的内容会多一个换行
print(line[:-1]) 将网页的数据进行保存时有时需要指定编码类型,比如为utf-8。不确定可以查看网页源码的编码类型,这里保存和网页编码类型一样就行
with open("./2.html","w",encoding="utf-8") as f:方法二:
直接使用循环也可以
for line in open("1.txt","r"): print(line[:-1])2. 打开并写入文件
with open("2.txt","a") as file:
file.write("hello\n")
file.write("are you ok?\n")实用案例
需求:
打开文件1.txt,1.txt的内容为一行行的ip地址。每次从里面读取一行数据加上"http://",然后将其保存到另外一个新的文件中
for ip in open("1.txt","r"):
url = "http://" + ip
with open("url.txt","a",,encoding="utf-8") as f: #这里必须以追加的模式打开,不然每次新增内容前都会清空
f.write(url)
print("ok")总结
到此这篇关于Python文件打开读取写入方法的文章就介绍到这了,更多相关Python文件打开读取写入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
标签:
为您推荐
- 全球今日讯!银行卡可以跨行转账吗手续费是多少
- 走“人生”的长途 鲁迅的窘困与坚毅 世界快看
- 《咸鱼之王》五一活动攻略、白嫖及氪金方案(内附五一礼包码)|天天速讯
- 俄称有无人机企图袭击克里姆林宫 外交部发言人表态
- 高淳区气象台发布雷暴大风黄色预警【Ⅲ级/较大】【2023-05-05】
- 北京跟团游_日本跟团游价格问题
- 初雪钢琴曲exo 初雪钢琴曲-世界热点评
- 天天新动态:保时捷计划下半年在大多数市场上调价格 但不会在中国提价
- 淮河流域防汛备汛一线见闻|全球最新
- 公告精选丨15天8板中国科传:公司目前未投资开展生成式人工智能有关业务;天邦食品:公司股票停牌、可能被终止上市等事项均为不实信息
- 全球微动态丨恒大半城湖暮春夜色
- 西安坠机航司曾2次被民航局处罚具体是什么情况 天天热议
- 环球关注:太行山下 山西左权村民抢抓春播春种
- “五一”小长假 超20万游客打卡理县
- 施瓦泽:不应低估扎卡的能力,他现在能助攻纪律性也有所提升 天天快看
- 环球最资讯丨房屋抵押贷款不还的后果?一文带你做好详细的了解
- 哈尔滨六福黄金现在多少钱一克(2023年5月4日)
- 每日短讯:风月古诗有哪些 2. 带风和月的诗词
- 最新消息:沙伊推进复交 联合国前高官称赞中国外交!
- 竹子是生长速度最快的植物为什么(竹子是生长速度最快的植物)-环球速递
- 1A股三大指数涨跌不一:成交继续超万亿元,个股涨多跌少,传媒板块再掀涨停潮 世界实时
- 2环球精选!“五一”假期北京全市公园接待游客922万人次 同比增96.6%
- 3“比亚迪产业学院”建成!3年培养10万新能源人才_世界播报
- 4发票遗失说明怎么写范本_发票遗失说明怎么写 视点
- 5世界热讯:快讯!乌媒:乌多地拉响空袭警报,基辅传出爆炸声
- 6固态电池遭遇全球难产,锂电“圣杯”恐怕只是一场梦
- 7每日热门:正泰电器:2022年营收净利双增,电子电器产品营收同比增60% | 年报拆解
- 8今日播报!怀化移动分公司组织开展2023年“五四”升旗活动
- 9青岛城投已完成HKIQCL 3.99 04/27/23本息兑付 世界观焦点
- 10春季新品|鹰牌陶瓷鲸MAX系列——溯源生活之美的本质 聚焦
- 每日看点!我家的中国味作文开头_我家的中国味作文
- 钛钢项链会氧化变黑吗_钛钢项链会掉色吗
- 用相当于造句_相当于句子大全_每日聚焦
- 这个“五一”小长假 浙江省消费市场增长强劲|环球观点
- 指导价42.78-53.13万元 全新奔驰GLC正式上市
- 国产润滑油品牌排行榜_国产润滑油品牌排行榜
- 中银证券给予科锐国际买入评级
- 今日炉石传说竞技场奖励规则_炉石传说竞技场奖励|每日快报
- 祥鑫科技获得项目定点意向书 预计总额149亿至151亿元
- 儿童理财产品_儿童理财 天天精选
- 特斯拉(TSLA.US)在美国恢复销售Model 3长续航版 并大幅降价上万美元 世界看热讯
- 世界新消息丨2023年5月3日河北省活性炭价格最新行情预测
- 今日观点!神秘人官方晒李梦和队友互动照,全程用英文交流,两人沟通无障碍
- 受银行股拖累 本地股市周三早盘跌0.88%|最新消息
- 当前讯息:孙颖莎等主力身穿新队服海报出炉,关于德班世乒赛,这些需要知道
- 中央气象台5月3日10时继续发布强对流天气蓝色预警 当前焦点
- 工地上来了新工友(经济新方位·新职业新活力)
- 创胜集团-B(06628):OSEMITAMAB (TST001)联合纳武利尤单抗与化疗或联合化疗作为胃癌或胃食管连接部癌患者一线治疗的中国II期临床研究完成C和G队列患者入组
- 夏图md沙发官网图片_夏图md沙发官网
- 每日关注!苹果手机怎么换来电铃声_苹果手机如何同步铃声
