2021-09-18

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”)
六、面向对象

  1. 什么是面向过程?
    将开放的逻辑一步一步实现。
    什么是面向对象?
    就是将所有 的逻辑都封装成一个对象,让对象完成具体的逻辑
    2.学习面向对象的好处?
    面向对象有利于代码的维护或者重构
    面向对象代码使业务逻辑更加清晰
    高内聚,低耦合
    3.面向对象的组成
    类和对象
    类就是一类事物的统称
    对象就是由类创建出来唯一,真实存在的,描述当前类的实例对象
    4.代码中的类和对象
    类:class:一类事物的统称
    对象:由类创建出来的实例对象,而且具有唯一性
    对象里面有的就是属性和方法
    七、属性和方法
    属性:就是用来描述事物的名词
    方法:就是用来描述事物的动词
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值