python中关于文件操作

python中关于文件操作

1、文件操作,以只读的形式打开,只读形式打开只能读不能写。

data = open("yesterday",'r',encoding="utf-8") #文件句柄,以只读的形式打开

将打开的文件读一遍

print(data.read()) #文件读一遍光标就到末尾了

2、文件操作,以写模式打开,写模式是创建一个文件,会覆盖掉之前相同的文件

data = open("yesterday",'w',encoding="utf-8") #文件句柄,写模式打开文件,只的是创建一个文件,就会覆盖之前的东西

向文件中写东西

data.write("zkilr\n")
data.write("ruirui\n")

将文件遍历读一遍

print(data.read()) #文件读一遍光标就到末尾了

3、文件以追加的形式打开,不能进行读操作,只能写

data = open("yesterday",'a',encoding="utf-8") #文件句柄,不会覆盖之前的东西,在后面追加,不能读
data.write("zkilr\n")
data.write("ruirui\n")

4、读文件的特定几行

data = open("yesterday",'r',encoding="utf-8") #文件句柄,以只读的形式打开

print(data.readline()) #读第一行
#读前五行
for i in range(5):
    print(data.readline())

5、将文件变成一个列表

print(data.readlines())  #把文件变成一个列表

6、打印特定几行文件

#打印特定的某几行,适合处理大型文件
count = 0
for line in data:
    if count == 9:
        print("__________")
        count += 1
        continue
    print(line)
    count += 1

# 打印特定几行,只适合处理特别小的文件
for index,line in enumerate(data.readlines()):
    if index == 9:
            print("__________")
            continue
    print(line)

7、

data = open("yesterday",'r',encoding="utf-8") #文件句柄,以只读的形式打开
print(data.tell()) #找到光标所在的位置
print(data.readline())
print(data.tell()) #显示光标所在位置
data.seek(0) #回到位置为0 的位置
print(data.readline()) #读一行
print(data.encoding)  #显示编码格式

8、文件截断

# 文件截断
data = open("yesterday",'a',encoding="utf-8") #文件句柄,以只读的形式打开
data.truncate(10)

9、读写形式打开文件,一定要注意读写的顺序

data = open("yesterday",'r+',encoding="utf-8") #文件句柄,读写模式
print(data.readline())
print(data.readline())
data.write("ruirui\n")

data = open("yesterday",'w+',encoding="utf-8") #文件句柄,写读模式
data.write("ruirui\n")
data.write("ruirui\n")
data.write("ruirui\n")
data.seek(0) #回到位置为0 的位置
print(data.readline())

10、二进制文件

data = open("yesterday",'rb') #以二进制形式读文件
print(data.readline())

data = open("yesterday",'wb') #以二进制形式写文件
data.write("hello".encode())

11、修改文件

#文件的修改
data = open("yesterday",'r',encoding="utf-8")
dta2 = open("yesterday2",'w',encoding="utf-8")
for line in data:
    if "zkilr"  in line:
        line = line.replace("zkilr","zkilrruirui")
    dta2.write(line)
data.close()
dta2.close()


with open("yesterday","r") as obj1,\
        open("yesterday2",'r') as obj2:
    for line in obj1:
        print(line)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值