"""
my =open("D:/test.txt","r",encoding="UTF-8")
#print(f"读取的数据是:{my.read()}")
list_1 = my.readlines()
print(f"通过readlines读取的数据是{list_1}")
my.close()
"""
with open("D:/test.txt","r",encoding="UTF-8") as my:
for line in my: #循环读取每一行
print(f"每一行数据是:{line}")
关闭文件 文件对象.close()
练习-
my_file = open("D:/test.txt","r",encoding="UTF-8")
num =0
for line in my_file: #按行读取文件
line = line.strip() #去除开头和结尾的空格he换行符
my_list = line.split(" ") #按照空格差分成一个个小的字符串,并输出为一个列表
for element in my_list: #根据列表中的每一个个元素进行遍历
if element=="itheima":
num+=1
print(f"有{num}个itheima")
my_file.close()
文件的写出操作 :
my_file = open("D:/hello.txt","w",encoding="UTF-8")
#write写入
my_file.write("hello world!")#将内容写到内存中去
my_file.flush() #将文件写到磁盘中
my_file.close() #close内置flush函数
W的特点:当文件不存在的时候会创建文件并写入内容,如果文件存在则会清空内容后再写入。
f = open("test.txt", mode="w", encoding="utf-8")
while True:
user = input("用户名:")
password = input("密码:")
if user != "q":
line = f"{user},{password}\n"
# line = line.encode("utf-8")
f.write(line) # 写到内存(缓冲区)中,并没有写到硬盘上
else:
break
f.close()
文件的追加:
a模式:在文件不存在的时候会创建文件,当文件存在的时候会在后面进行追加写入1
综合案例:
fr = open("D:/practice.txt","r",encoding="UTF-8")
fw = open("D:/practice2.txt","w",encoding="UTF-8")
for line in fr:
line =line.strip()
mylist = line.split(",")
if mylist[4]=="测试" :#如果是测试进入下一次循环
continue
fw.write(line) #否则进行写入
fw.write("/n")
fr.close()
fw.close()
实现登录注册功能:
# 注册部分
f = open("test.txt", mode="w", encoding="utf-8")
while True:
user = input("用户名:")
if user != "q":
password = input("密码:")
line = f"{user},{password}\n"
# line = line.encode("utf-8")
f.write(line) # 写到内存(缓冲区)中,并没有写到硬盘上
f.flush()
else:
break
# 登录部分
f.close()
f1 = open("test.txt", mode="r", encoding="utf-8")
x = input("请输入账号:")
y = input("请输入密码:")
for i in f1:
i = i.strip()
i = i.split(",")
print(i[0])
print(i[1])
print(x)
print(y)
if i[0] == x:
if i[1] == y:
print("登陆成功")
else:
print("密码错误")
else:
continue
f1.close()
with上下文(用于自动关闭文件):
离开缩进时自动关闭文件
with open("test.txt", mode="r", encoding="utf-8") as file_object:
data = file_object.read().strip()
print(data)
print("结束")