文件的相关知识

1.文件的读取操作

1.1.open()打开函数

使用open函数可以打开一个已经存在的文件,或者创建一个新文件
语法: open(name,model,encoding)
name:要打开的文件名的字符串
model:设置打开文件的模式,只读,写入追加
encoding:编码格式(一般用UTF-8)

r:只读
w:只写入,原有的文件会被删除,若文件不存在,则创建一个新文件
a:用于追加新的能容会被写到已有内容之后,若文件不存在,创建新文件并写入

#打开文件
#创建了一个f对象
f=open("D:/测试.txt","r",encoding="UTF-8")#f为open的对象

1.2.read()方法

read(num ),num表示要从文件中读取的数据的长度,如果没有传入num,就读取文档中全部数据
readlines(),可以按照行的方式将文档中的内容一次性读取,而且返回一个列表,其中每一行数据为一个元素

1.2.1读取文件read()

print(f"f读取十个字节的结果:{f.read(10)}")
print(f"f读取全部文档的结果:{f.read()}")#如果已经读过一个read,下一个read会在上一个read后面接着读

1.2.2读取文件readlines()

lines=f.readlines()
print(f"lines对象的类型:{type(lines)}")#前边的read()同样也会影响readlines的读取,在read后边接着读
print(f"line的内容:{lines}")#\n换行

1.2.3读取文件readline()调用一次,读一行

line1=f.readline()
line2=f.readline()
line3=f.readline()
print(f"第一行数据{line1}")
print(f"第二行数据{line2}")
print(f"第三行数据{line3}")

1.2.4 for循环读取文件行

for line in f:
    print(f"每一行的数据为:{line}")

1.2.5文件的关闭close()-解除对文件的占用

**文件读取后,要用.close关闭文件对象,否则文件会被一直占用

f.close()

1.2.6 with open() as

通过with open语句打开文件,可以自动关闭

with open("D:/测试.txt","r",encoding="UTF-8") as f:
    for line in f:
       print(f"{line}")

1.3 time.sleep()让程序睡眠

,程序会在执行到该语句时暂停执行指定的时间。

time.sleep(50000)

1.4判断某字符出现次数并累计

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

1.4.1使用count()直接数出来

content=f.read()
count=content.count("天")
print(f"{count}")

1.4.2一行一行读出来

count=0
for line in f:
    lines=line.strip()#去除开头结尾的空格和换行符
    words=lines.split(" ")#按照空格划分
    for word in words:
        if word == "it":
            count += 1
print(f"{count}")

2.文件的写入操作

f=open(“D:/text2.txt”,“w”,encoding=“UTF-8”)

2.1写入操作

w模式

  • 写入时若文件不存在,就创建一个文件
  • 若存在,就会清空文件,然后写入
    文件完成写操作,需要flush函数刷新。执行文件的写入操作,刷新后,数据是一块存到硬盘中
    close自带有flush函数
f.write("hello world")
f.flush()
f.close()

2.2追加写入操作

a模式

  • 与w模式写入基本一致
  • 若文件存在,会在后面追加写入内容
  • 若要换行可以加上\n,写出换行符
f=open("D:/text2.txt","a",encoding="UTF-8")
f.write("\nhello world")
f.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值