学习python的第十四天

1.文件备份

"""
备份文件的步骤
1.选择需要备份的文件
2.读取备份文件
3.给新文件命名
4.写入新文件
"""
# 1.选择备份文件
# old_name = input("请输入需要备份的文件")
old_name = "1.txt"
print(old_name, type(old_name))

# 查找指定字符的位置
index = old_name.rfind(".")
print(index)

# 把1.txt --> 1_备份.txt 生成新的文件名
new_name = old_name[:index] + "_备份" + old_name[index:]
print(new_name)

# f = open("1_备份.txt", mode="w")
# f.write("hello python today is sunny")

# 打开文件
old_f = open(old_name, "rb")
new_f = open(new_name, "wb")

# 永真循环读取 不停的读取内容
while True:
    # 每次读取1024个字符
    content = old_f.read(1024)
    # 读到没有更多的数据的时候 终止循环
    if len(content) == 0:
        break

    # 把内容写入新文件
    new_f.write(content)

# 关闭文件
old_f.close()
new_f.close()

2.文件和文件夹操作

# 导入系统模块 这个模块有很多的函数可以进行文件和文件夹操作
import os

# 修改文件名
# os.rename("hello.txt", "2_hello.txt")

# 删除文件
# os.remove("test.txt")

# 创建文件夹
# os.mkdir("new_dir")

# 删除文件夹
# os.rmdir("new_dir")

# 定义当前的python的路径
print(os.path)

# 获取字典的目录列表(文件和文件夹组成)路径必须是英文
# print(os.listdir("C:\Users\Lenovo\PycharmProjects\Python_Hadoop\第十三天"))

"""
1.备份1.txt文件,并且第三行加入 my name is bobi
2.将之前的学生管理系统 改写成文件模式
student_list = [
    {"name": "麻宏", "age": 20, "gender": "man"},
    {"name": "腾伟", "age": 21, "gender": "woman"},
    {"name": "刘鸡鸡", "age": 19, "gender": ",man"},
]
列表放在文件中 然后对文件进行增删改查
"""

3.随堂练习

# 1.备份1.txt文件,并且第三行加入 my name is bobi
# 备份函数
def back_up(lang):
    # 打开旧文件
    old_f = open("1.txt", "r")
    # 将文件内容全部读取出来形成一个列表
    con_list = old_f.readlines()
    # print(con_list)
    # 在指定位置插入内容
    con_list.insert(2, lang)

    # print(con_list)
    # 打开新文件
    new_f = open("1_备份.txt", "w")
    # 往新文件中铁建数据
    for i in con_list:
        new_f.write(i)
    # 关闭文件
    old_f.close()
    new_f.close()


if __name__ == '__main__':
    back_up("my name is bobi \n")

4.定义一个类

# 定义一个类 class: 类名
# 类名后面可以不加括号
# Washer必须是大驼峰
class Washer:
    # 方法 方法就是类的功能或者行为 他可以实现的事情
    def wash(self):
        # self = haier = 类创建的对象(不是唯一的)
        # self, 谁调用wash谁是self
        print("self:", self)
        print("洗衣机开始洗衣服")


if __name__ == '__main__':
    # 必须通过类成绩一个对象 类名()就是创建对象
    haier = Washer()
    # 类对象 类的对象 实例化对象
    print("haier:", haier, type(haier))
    # 可以通过类的对象 调用类中的方法
    # 使用的对象 会传递给self
    haier.wash()
    # 创建另外一个对象
    meidi = Washer()
    print("meidi", meidi)
    meidi.wash()

5.类外面添加属性

# # 定义一个类
# class Washer:
#     # 方法 方法就是类的功能或者行为 他可以实现的事情
#     def wash(self):
#         # self = haier
#         print("洗衣机开始洗衣服")
#         # 在方法中打印类对象的属性
#         print(self.height)
#         print(self.weight)
#
#
# if __name__ == '__main__':
#     # 必须通过类成绩一个对象 类名()就是创建对象
#     haier = Washer()
#     # 类对象 类的对象 实例化对象
#     print("haier:", haier, type(haier))
#
#     # 给类的对象添加属性
#     haier.height = 150
#     haier.weight = 60
#
#     # 类的对象调用方法
#     haier.wash()
"""
随堂练习
1.打印一个自行车类
自行车有一个方法ride 方法中可以打印一些东西
创建一个凤凰牌自行车,
给凤凰牌自行车添加属性 颜色是白色 age 25
在ride方法中打印 类的对象的属性
"""


class Bicycle:
    # 方法 方法就是类的功能或者行为 他可以实现的事情
    def wash(self):
        # self = haier
        print("刘鸡鸡骑自行车")
        print("刘鸡鸡摔了")
        print("刘鸡鸡是傻逼")
        print()
        # 在方法中打印类对象的属性
        print("凤凰牌自行车颜色", self.colour)
        print("凤凰牌自行车年龄", self.age)


if __name__ == '__main__':
    # 必须通过类成绩一个对象 类名()就是创建对象
    fhp = Bicycle()
    # 类对象 类的对象 实例化对象
    print("haier:", fhp, type(fhp))

    # 给类的对象添加属性
    fhp.colour = "white"
    fhp.age = 25
    # 类的对象调用方法
    fhp.wash()

6.练习

"""
随堂练习
1.打印一个自行车类
自行车有一个方法ride 方法中可以打印一些东西
创建一个凤凰牌自行车,
给凤凰牌自行车添加属性 颜色是白色 age 25
在ride方法中打印 类的对象的属性
"""


class Bicycle:
    # 方法 方法就是类的功能或者行为 他可以实现的事情
    def ride(self):
        # self = haier
        print("刘鸡鸡骑自行车")
        print("刘鸡鸡摔了")
        print("刘鸡鸡是傻逼")
        print()
        # 在方法中打印类对象的属性
        print("凤凰牌自行车颜色", self.colour)
        print("凤凰牌自行车年龄", self.age)
        print("凤凰牌自行车的价格", self.price)


if __name__ == '__main__':
    # 必须通过类成绩一个对象 类名()就是创建对象
    fhp = Bicycle()
    # 类对象 类的对象 实例化对象
    print("fhp:", fhp, type(fhp))

    # 给类的对象添加属性
    fhp.colour = "white"
    fhp.price = 20000000
    fhp.age = 25
    # 类的对象调用方法
    fhp.ride()

7.在类里面定义属性

class Baike:
    # 方法 方法就是类的功能或者行为 他可以实现的事情
    def __init__(self):
        self.clolr = None
        self.price = None

    def ride(self):
        # self = haier
        print("刘鸡鸡是傻逼")
        self.clolr = "black"
        self.price = 250
        # 在方法中打印类对象的属性
        print("凤凰牌自行车颜色", self.color)

        print("凤凰牌自行车的价格", self.price)


if __name__ == '__main__':
    # 必须通过类成绩一个对象 类名()就是创建对象
    phoenix = Baike()
    phoenix.ride
    # 类对象 类的对象 实例化对象
   

8.init的魔术方法

import self as self


class Person:

    def __init__(self):
        """
        init 魔术方法在实例化对象的时候触发
        self = iyg
        """
        print("init被触发")
        # 定义对象属性
        self.name = "刘鸡鸡"
        self.age = 3

    # 定义一个普通方法
    def eat(self):
        print(f"{self.name}在吃饭, 他今年{self.age}岁")


if __name__ == '__main__':
    # 实例化根根 对象
    lyg = Person()
    # 调用类中的方法
    lyg.eat()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值