Python day7
一、文件的基本介绍
只要能够创建出来的都可以是文件
在utf-8的编码格式下,一个汉字占用3个字节1.r模式
f1 = open(“1.txt”,“r”)
print(f1.read())
f1.close()
注意:r可以省略,如果没写模式,默认r
一个文件的内容全部读完之后,再读一遍,就返回空“”
如果读取的文件是一个不存在的文件,代码会报错
2.w模式
f1 = open(“1.txt”,“w”)
f1.write(“whjgiohkjaslgkfjsdl”)
f1.close()
注意:在操作文件的时候是一个读写模式,边写入,边读取内容,代码不会报错,但是读取不到内容
f1 = open(“1.txt”,“w”)
f1.write(“whjgiohkjaslgkfjsdl”)
f1.close()
f2 = open(“1.txt”,“r”)
print(f2.read())
f2.close()
注意:在操作文件的时候以W模式写入不存在的文件,表示创建文件
写入一个已存在的文件,表示首次覆盖老文件的内容,后面的写入都表示追加内容
一个open对应一个close
3.a模式
如果在操作文件的时候写入一个不存在文件,则表示新建一个文件,如果是一个存在的文件,则表示追加内容
4.文件操作的编码格式
乱码的文件就是没有设置正确的字符集,只有Windows下才会出现,指定正确的字符集即可
f1 = open(“3.txt”,“w”,encoding = “utf-8”)
f1.write(“离离原上草”)
f1.close()
二、文件读的加强
read()默认读取文件的所有内容
读指定字节数
print(f1.read(20))
print(f1.read(20))
每次都20个字节,当读完了会返回空。如果读最后一次不足20个字节,会打印剩下全部的内容
读取一行的内容
f1 = open(“1.txt”,“r”)
f1.readline()
f1.readline()
f1.close()
读取多行内容,把所有的内容按行读取,返回一个列表
f1.open(“1.txt”,“r”)
f1.readlines()
f1.close()
移动光标读取,光标只能从左到右移
f1 = open(“1.txt”,“r”)
f1.seek(2)
f1.read(1)
f1.close()
三、文件备份的加强
1.文件备份的初级版
把文件名写死了
f1 = open(“1.txt”,“r”)
f2 = open(“1-副本.txt”,“w”)
f2.write(f1.read())
f1.close()
f2.close()
2.文件备份的加强版
文件名写活
old_name = input(“请输入要备份的文件名:”)
index = old_name.rfind(".")
new_name = old_name[0:index]+"-副本"+old_name[index:]
f1 = open(old_name,“r”)
f2 = open(new_name,“w”)
f2.write(f1.read())
f1.close
f2.close
3.文件备份的最终版
当文件过大的时候,按照字节读,读完之后,返回空
old_name = input(“请输入要备份的文件名:”)
index = old_name.rfind(".")
new_name = old_name[0:index]+"-副本"+old_name[index:]
f1 = open(old_name,“r”)
f2 = open(new_name,“w”)
while 1:
str1 = f1.read(1024)
if str1 == “”:
break
else:
f2.write(str1)
f1.close
f2.close
四、文件的相关操作
1.什么是文件和文件夹?
文件指的就是一个格式,用来存储数据的
文件夹就是用来装这些文件的目录
2.创建文件
以w或者a模式去打开一个不存在的文件,表示创建一个新文件
open(“01.txt”,“w”)
open(“01.txt”,“a”)
2.修改文件名和文件夹名
import os
os.rename(“1.txt”,“111.txt”)
3.删除文件,不能删除文件夹
os.remove(“1.txt”)
五、文件夹的相关操作
1.创建一个文件夹,只能创建一级文件夹
import os
os.mkdir(“文件夹名”)
2.创建一个多层的文件夹
import os
os.makedirs(“aa/bb/cc”)
3.获取当前路径(绝对路径),只能读取
os…getcwd()
4.修改文件路径
os.chdir(“./”)
5.获取当前目录下的一级内容,包含文件和文件夹,返回列表类型
os.listdir()
6.删除文件夹
os.rmdir(“文件名”) 只能删除空文件夹
7.删除一个非空文件夹
import shutil
shutil.rmtree(“文件名”)
8.判断一个文件或者文件夹是否存在,存在返回true,否则返回false
os.path.exists(“文件或者文件夹”)
9.判断当前是否文件,如果是返回true,否则false
os.path.isfile(“2.txt”)
10.判断当前是否是文件夹
os.path.isdir(“aaa”)
六、面向对象
- 什么是面向过程?
将开放的逻辑一步一步实现。
什么是面向对象?
就是将所有 的逻辑都封装成一个对象,让对象完成具体的逻辑
2.学习面向对象的好处?
面向对象有利于代码的维护或者重构
面向对象代码使业务逻辑更加清晰
高内聚,低耦合
3.面向对象的组成
类和对象
类就是一类事物的统称
对象就是由类创建出来唯一,真实存在的,描述当前类的实例对象
4.代码中的类和对象
类:class:一类事物的统称
对象:由类创建出来的实例对象,而且具有唯一性
对象里面有的就是属性和方法
七、属性和方法
属性:就是用来描述事物的名词
方法:就是用来描述事物的动词