文件操作with语句
admin
2023-07-20 05:02:03
0

import sys

data=open("gc.txt","r",encoding="utf-8") #只能读取文件

data=open("gc.txt","w",encoding="utf-8") #写模式创建一个文件(如果文件名相同会覆盖掉)

data=open("gc.txt","a",encoding="utf-8") #只能在文件后面追加

print(data.readline()) #打印一行

print(data.readlines()) #打印成列表

for i in range(5):

print(data.readline())

'''
#low 方法 适合读小文件
for index,line in enumerate(data.readlines()):#取出下标和对应的值
if index==9:
print("----ooo----")
continue
print(line.strip())

#high bige 度一行覆盖一行,常用牛逼方法
count=0
for loo in data:
if count==4:
print('-----You will die-----')
count+=1
continue
print(loo)
count+=1
'''

#光标使用

f=open("gc.txt","r",encoding="utf-8")

print(f.tell())#打印光标当前位置

print(f.read(5)) #按字符读取

print(f.readline()) #按行读取

print(f.tell())

f.seek(0)#光标移动端指定位置

print(f.encoding)#打印所用字符编码

print(f.flush())#强制刷新

f.truncate(10)#截断,从开头开始截,光标移动后再截断没用,依然从头开始算。

#f=open("yesok2",'r+',encoding="utf-8")#文件句柄 读写,在最后追加
#f=open("gc.txt",'w+',encoding="utf-8")#文件句柄 写读,覆盖原文件(创建新文件)后写。只会在最后追加。文件观后再打开写入会覆盖
#f=open("yesok2",'a+',encoding="utf-8")#文件句柄 追加读写

f=open("yesok2",'rb') #文件句柄 以二进制读文件

f=open("yesok2",'wb') #文件句柄 以二进制写

f=open("yesok2",'ab') #文件句柄 以二进制追加

f.write("hello\n".encode()) #二进制写读

f.close

f=open("gc.txt","r",encoding="utf-8")

f1=open("gc1.txt","w",encoding="utf-8")

for line in f:

if "是挣扎的自由" in line:

line=line.replace("是挣扎的自由","有我无敌天下")

f1.write(line )

#f.close()
#f1.close()

#find_str=sys.argv[1]
#replace_str=sys.argv[2]
#for line in f:
#if find_str in line:
#line=line.replace(find_str,replace_str)
#f1.write(line)
#f.close()
#f1.close()

with语句

with open("gege",'r',encoding="utf-8") as f:
for line in f:
print(line) #执行完自动关闭文件

同时打开文件不建议这么写

with open("gege",'r',encoding="utf-8") as f,open("gege",'r',encoding="utf-8") as f:
pass

打开多个文件建议这么写

with open("gege",'r',encoding="utf-8") as f,\
open("gege",'r',encoding="utf-8") as f2:
for line in f:
print(line) #执行完自动关闭文件

相关内容

热门资讯

小熊电器获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示小熊电器(002959)新获得一项实用新型专利授权,专利名为“...
【工作动态】共赴数智未来 20... 万数奔腾,浪潮激荡。当前,大数据、人工智能等新技术加速迭代,新业态、新模式持续涌现,为经济社会高质量...
伊朗:60天内商船可免费通过霍... △霍尔木兹海峡(资料图)当地时间18日,伊朗国家最高安全委员会发表声明称,60天内,不收取申请通过霍...
知名国际学校,新校区不到一年宣... 一个去年8月开办的新校区,在今年6月初突然宣布关停。6月5日晚,北京市昌平区的清香未来城学校(即北京...
聚力奋进新型工业化之路 □本报记者 孙铭阳 机器轰鸣的生产车间里,数字化生产线高效运转;科创园区实验室中,前沿技术持续突破;...
三星确认Exynos 2700... IT之家 6 月 18 日消息,据《韩国经济日报》报道,三星电子半导体 LSI 事业部总裁 Park...
伊朗最高领袖:美国总统出于绝望... 当地时间6月18日晚,伊朗最高领袖穆杰塔巴·哈梅内伊就伊美签署谅解备忘录发表声明。穆杰塔巴表示,“正...
互相扯皮,虫害再成美两党政治博... 美国农业部16日发布声明称,将投入约1.05亿美元用于新项目,强化美国对螺旋锥蝇的防控能力。本月以来...
高市插不上话只能尬笑,日本发G... 根本插不上话,只能尬笑!6月17日,日本方面发布了一张高市早苗在G7峰会的照片,配文“高市与附近领导...
侯宏、李智勇 | 智能原生组织... 来源:北大国发院 导语 AI为组织这艘航船提供了无限的动力、实时的全球海图、自动驾驶系统与自我强化...