文件-Python

本文详细介绍了如何在Python中使用`open()`函数进行文件的读写操作,包括不同模式、`read()`、`readlines()`、`write()`和追加操作,以及UTF-8编码的应用。并通过示例展示了如何统计文件内容、清空/追加内容等。
摘要由CSDN通过智能技术生成

师从黑马程序员

文件编码

 

不同编码,将内容翻译成二进制也是不同的

查看文件编码

文件的读取

文件的概念

文件操作内容

主要包括打开,关闭,读,写

文件的操作步骤

open()打开函数

mode常用的三种基础访问模式

读操作相关方法

读操作相关方法

close() 关闭文件对象

with open语法

这里f代指文章中的文件对象

#打开文件
import time

f = open("D:/测试.txt", "r", encoding="UTF-8")
print(type(f))
#读取文件-read()
# print(f"读取10个字节的结果是:{f.read(10)}")
# print(f"读取全部内容的结果是:{f.read()}")
#如果程序中多次调用read,那么下一个read会在上一个read的结尾处接着读取
print("------------------------------------------")
#读取文件-readlines()读取文件的全部行,封装到列表中
# lines=f.readlines()
# print(f"lines对象的类型:{type(lines)}")
# print((f"lines对象的内容是:{lines}"))
#读取文件-readline()
# line1=f.readline()
# line2=f.readline()
# line3=f.readline()
# print(f"第一行数据是:{line1}")
# print(f"第二行数据是:{line2}")
# print(f"第三行数据是:{line3}")
#for循环读取文件行
# for line in f:
#     print(f"每一行数据是:{line}")
# #文件的关闭
# f.close()
#
# time.sleep(500000)#暂停50万秒
# f.close()
#with open语法操作文件
with open("D:/测试.txt","r",encoding="UTF-8") as f:
    for line in f:
        print(f"每一行数据是:{line}")

time.sleep(500000)

操作汇总

案例:


f = open("D:/word.txt", "r", encoding="UTF-8")

#方法1:读取全部内容,通过字符串count方法统计itheima单词数量

# content=f.read()
# count=content.count("itheima")
# print(f"itheima在文件中出现了:{count}次")

#方法2:读取内容,一行一行读取
#判断单词出现次数并累计

count=0
for line in f:
    line=line.strip()
    words=line.split(" ")
    for word in words:
        if word=="itheima":
            count+=1

print(f"itheima出现的次数是:{count}")

f.close()

文件的写出操作

写操作

import time
#打开不存在的文件
f=open("D:/test.txt","w",encoding="UTF-8")

f.write("Hello Wrold!!!") #内容写到内容中

#f.flush()

f.close()#close方法内置了flush的功能

#打开一个存在的文件

#文件存在 它会把内容清空
f=open("D:/test.txt","w",encoding="UTF-8")
f.write("黑马程序员")

f.close()

文件的追加操作

#打开不存在的文件
f=open("D:/test.txt","a",encoding="UTF-8")
f.write("黑马程序员")
f.flush()
f.close()

#打开一个存在的文件
f=open("D:/test.txt","a",encoding="UTF-8")
f.write("学Python最佳选择")
f.write("\n月薪过万")

注:a模式下调用write,不会清空原本的内容

案例:

fr=open("D:/bill.txt","r",encoding="UTF-8")

fw=open("D:/bill.txt.bak","w",encoding="UTF-8")

for line in fr:
    line.strip()

    if line.split(",")[-1]=="测试":
        continue
    fw.write(line)
    fw.write("\n")

fr.close()
fw.close()

若有侵权,请联系作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘~风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值