首页 > 编程语言 >Python基础入门(六)

Python基础入门(六)

时间:2024-07-24 19:26:12浏览次数:13  
标签:入门 Python data 基础 file print input open lines

Python基础入门(六)

一、本节目标
  • 掌握文件的概念和操作:文本文件、CSV文件
  • 综合案例:奖励富翁系统、汽车租聘系统
二、文件介绍
  • 文件是计算机中用于存储数据的一种载体,一般存储在磁盘上
  • 文件通过以一定的格式和结构存储数据,可以包含文本、图像、音频、视频等各种类型的信息
  • 文件在计算机中起着非常重要的作用,是信息传递和存储的基本单位
  • 在程序中,我们把文件一般分为两类,一类是程序文件,一类是数据文件
三、open函数介绍
  • open()函数用于打开一个文件,并返回文件对象
  • 使用open()方法一定要保证关闭文件对象,即调用close()方法
  • open()函数常用形式是接收两个参数:文件名(file)和模式(model)
    • open(file, model = ‘r|w|a’)
四、读写文件-1
print(r"C:/Users/23077/Desktop/作业/张贺猛-7.11-预习笔记.docx")
file = open(r"C:\Users\23077\Desktop\作业\test01.txt", "r", encoding = 'utf-8')
lines = file.read()
print(lines)
file.close()

file = open(r".\data\readme.txt", "r", encoding = 'utf-8')
lines = file.readline()
while lines != '':
    print(lines, end='')
    lines = file.readline()
file.close()

file = open(r".\data\readme.txt", "r", encoding = 'utf-8')
lines = file.readlines()
print(lines, end='')
file.close()
五、读写文件-2
file = open(r".\data\readyou.txt", "w", encoding = 'utf-8')
file.write("w343\n")
file.write("233\n")
file.write("你们好\n")
file.close()

file = open(r".\data\readyou.txt", "a", encoding = 'utf-8')
file.writelines(("54\n", "233\n", "4322\n"))
file.close()

file = open(r".\data\readyou.txt", "r", encoding = 'utf-8')
lines = file.read()
print(lines, end='')
file.close()

with open(r".\data\readyou.txt", "r", encoding = 'utf-8') as file:
    content = file.read()
    print(content)
    line = file.readline()
    while line != '':
        print(line, end='')
        line = file.read.readline()

    lines = file.readlines()
    print(lines)

    for line in file.readlines():
        print(line, end='')

with open("data/readme.txt", "w", encoding = 'utf-8') as file:
    file.writelines(['abc\n', '212\n', '一二三\n'])
六、练习
  • 通过键盘输入自己的姓名,性别,年龄,爱好
    • 通过write()函数记录到文本文件中
    • 通过open()函数读取并显示在控制台
# 练习
person = []
for i in range(1):
    name = input("请输入你的姓名:")
    sex = input("请输入你的性别:")
    age = input("请输入你的年龄:")
    fav = input("请输入你的爱好:")

    person.append(name+",")
    person.append(sex+",")
    person.append(age+",")
    person.append(fav)
    person.append("\n")
# person = [name, sex, age, fav]
with open(r"./data/person.txt", "a", encoding = 'utf') as file:
    file.writelines(person)
with open(r"./data/person.txt", "r", encoding = 'utf') as file:
    lines = file.readline()
    while lines != '':
        fields = lines.split(",")
        print(f"姓名:{fields[0]}")
        print(f"性别:{fields[1]}")
        print(f"年龄:{fields[2]}")
        print(f"爱好:{fields[3]}")
        print("*"*20)
        lines = file.readline()
七、CSV模块-读
import csv
with open("./data/test.csv", 'r') as file:
    reader = csv.reader(file)
    next(reader)
    print("姓名\t性别\t年龄")
    for row in reader:
        print(f"{row[0]}\t{row[1]}\t{row[2]}")
八、CSV模块-写
import csv
with open("./data/test.csv", 'a', encoding= 'utf-8') as file:
    writer = csv.writer(file, lineterminator = "\n")
    writer.writerow(["mike", "male", "23"])
    writer.writerow(([
        ["make", 'female', '22'],
        ["tom", "male", '23']
    ]))
with open("./data/test.csv", 'r') as file:
    reader = csv.reader(file, delimiter=';') # 指定分隔符
    next(reader)
    print("姓名\t性别\t年龄")
    for row in reader:
        print(f"{row[0]}\t{row[1]}\t{row[2]}")
九、练习
  • 通过键盘输入多名学生的学号,姓名,性别,年龄
    • 记录到CSV文件
    • 读取CSV文件并显示在屏幕上
import csv
with open("./data/students.dat", "a", encoding = 'utf-8') as file:
    while True:
        id = input("请输入你的学号:")
        name = input("请输入你的姓名:")
        dex = input("请输入你的性别:")
        age = input("请输入你的年龄:")
        data = [id, name, dex, age]
        writer = csv.writer(file, lineterminator = '\n')
        writer.writerow(data)
        ret = input("是否继续(y/n)?")
        if ret.lower() != 'y':
            break
print("文件保存成功!!")
with open("./data/students.dat", "r", encoding = 'utf-8') as file:
    reader = csv.reader(file, delimiter = ",")
    print("学号\t姓名\t性别\t年龄\t")
    for row in reader:
        print(f"{row[0]}\t{row[1]}\t{row[2]}\t{row[3]}")
十、综合练习-1
  • 奖客富翁系统
  • 需求描述:
    • 某商场要求开发一套奖客富翁系统,要求客户注册成为商场会员,登录之后,就可以参加抽奖活动
    • 主要功能是有会员注册、登录和抽奖
    • 抽奖采用随机数random.randit(a, b)表示“中奖”和“未中奖”
# 项目一
# 用户注册
import random
users = {}
logined = False
def register():
    print("********用户注册*******")
    name = input("请输入用户名:")
    if name in users:
        print("用户名已存在")
        return
    pwd = input("请输入密码:")
    users[name] = pwd
    print("注册成功!")
# 登录
def login():
    print("********用户登录*******")
    name = input("请输入用户名:")
    if name not in users:
        print("用户不存在")
        return
    pwd = input("请输入密码:")
    if users[name] != pwd:
        print("密码错误")
        return
    print(f'欢迎{name}登录!')
    global logined
    logined = True
# 抽奖
def prize():
    if not logined:
        login()
    pc = random.randint(0, 1)
    if pc == 0:
        print("很遗憾,您没有中奖-_-")
    else:
        print("~恭喜,您中奖了~")
def start():
    while True:
        print("*"*30)
        print("1.注册")
        print("2.登录")
        print("3.抽奖")
        print("4.退出")
        print("*"*30)
        n = int(input("请选择以上功能号【1-4】:"))
        match n :
            case 1 :
                register()
            case 2:
                login()
            case 3:
                prize()
            case 4:
                break
            case _:
                print("输入错误")
    print("~程序结束~")
start()
十一、综合练习-2
  • 汽车租聘系统
  • 需求描述
-------------
# 租车系统 #
2.添加车牌号
3.显示所有的车牌号
4.查找车牌号
5.退出系统
-------------
请选择功能:
def func1():
    print("*" * 30)
    print('# 租车系统 #')
    print('1.添加车牌号')
    print('2.显示所有车牌号')
    print('3.查找车牌号')
    print('4.删除车牌号')
    print('5.退出系统')
    print("*" * 30)

lists = []

def func2(lists):
    n = input("请输入要添加车牌号的个数:")
    for i in range(int(n)):
        list = input(f"请输入第{i+1}个车牌号:")
        lists.append(list)
def func3():
    for i in range(len(lists)):
        print(lists[i])
def func4():
    idcode= input("请输入要查找的车牌:")
    if idcode in lists:
        print("恭喜,已查找到车牌!")
    else:
        print("对不起,找不到车牌号!")
def func5():
    se_code = input("请输入要删除的车牌号:")
    lists.remove(se_code)
    print("删除成功!!")

func1()
while True:
    code = int(input("请选择功能:"))
    match code:
        case 1:
            func2(lists)
        case 2:
            func3()
        case 3:
            func4()
        case 4:
            func5()
        case 5:
            break
        case _:
            print("输入不合法,请重新输入!")
print("程序结束!")
十二、总结
  • 掌握函数的定义及调用,参数传递,返回值
  • 掌握简单算法的使用:冒泡排序法、杨辉三角形
  • 掌握文本文件和CSV文件的读写操作

标签:入门,Python,data,基础,file,print,input,open,lines
From: https://blog.csdn.net/zhanghemeng/article/details/140669843

相关文章

  • 音视频入门基础:PCM专题(3)——使用Audacity工具分析PCM音频文件
     =================================================================音视频入门基础:PCM专题系列文章:音视频入门基础:PCM专题(1)——使用FFmpeg命令生成PCM音频文件并播放音视频入门基础:PCM专题(2)——使用Qt播放PCM音频文件音视频入门基础:PCM专题(3)——使用Audacity工具分析PC......
  • MYSQL基础知识之DML
    数据库备份与还原备份 mysqldump.exe-hlocalhost-P3306(端口号) -uroot -p库名>E:/库名20240719.sql还原 mysql.exe-h106.55.169.91-P3306-uroot-phaha<E:/xiao2.sql数据表的新增 insertinto表名(字段名,字段名,....,字段名) values/......
  • webpack入门最简单的demo
    1、在空文件夹下npminit-y2、npminstall--save-devwebpack3、新建src文件夹,在src里新建index.html,写入:<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title>WebpackDemo</title></hea......
  • Python 中 eval 与 exec 的相同点和不同点
    相同点在Python中,eval和exec都可以用来执行动态生成(dynamicallygenerated)的代码。两者在Python3中的函数声明基本相同,如下所示:eval(expression[,globals[,locals]])exec(object[,globals[,locals]])其中,输入参数中,globals必须是字典(dict)类型,表示全局空间的变量,......
  • Python获取list中指定元素索引的两种方法
    在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等。怎么办?看下面方法一:利用数组自身的特性list.index(target),其中a是你的目标list,target是你需要的下标对应的值li=[10,8,9,26,72,6,28]print(li.index(8))但是,......
  • Python模块重载的五种方法
    1.环境准备新建一个foo文件夹,其下包含一个bar.py文件$treefoofoo└──bar.py0directories,1filebar.py的内容非常简单,只写了个print语句print("successfultobeimported")只要bar.py被导入一次,就被执行一次print2.禁止重复导入'由于有sys.module......
  • Python打印类的属性
    一、使用__dict__打印类的属性classPerson:def__init__(self,name,age):self.name=nameself.age=ageperson=Person("Tom",18)print(person.__dict__)使用__dict__方法可以直接打印出类的属性及其对应的值。上述代码中,我们首先定义了一个P......
  • 网络安全基础知识及安全意识培训(73页可编辑PPT)
    引言:在当今数字化时代,网络安全已成为企业和个人不可忽视的重要议题。随着互联网的普及和技术的飞速发展,网络威胁日益复杂多变,从简单的病毒传播到高级持续性威胁(APT)、勒索软件攻击、数据泄露等,无一不对网络安全构成了严峻挑战。因此,开展网络安全基础知识及安全意识培训,对于提升......
  • 什么是Python中的闭包与装饰器
    1.闭包闭包(Closure)是指在一个函数内部定义的函数,并且这个内部函数可以访问其外部函数作用域中定义的变量。在Python中,闭包是一个强大且灵活的编程工具,可以实现许多有趣和实用的功能。让我们通过一个简单的示例来说明闭包的基本概念:defouter_function(x):definner_f......
  • 算法笔记|Day6哈希表基础II
    算法笔记|Day6哈希表基础II☆☆☆☆☆leetcode454.四数相加II题目分析代码☆☆☆☆☆leetcode383.赎金信题目分析代码☆☆☆☆☆leetcode15.三数之和题目分析代码☆☆☆☆☆leetcode18.四数之和题目分析代码☆☆☆☆☆leetcode454.四数相加II题目链接:leetco......