python-基础篇-文件-py脚本

这篇具有很好参考价值的文章主要介绍了python-基础篇-文件-py脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件的读操作

代码

# 1. 打开文件
f = open('a.txt', 'r', encoding='utf-8')
# 2. 读写文件 文件对象.read(n)  n 一次读取多少字节的内容,默认不写,读取全部内容
buf = f.read(3)
print(buf)  # 123
print('-'*30)
buf = f.read(3)  #
print(buf)
# 3. 关闭文件
f.close()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言
python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

按行读取文件

代码

f = open('a.txt', 'r', encoding='utf-8')
# f.readline()  # 一次读取一行的内容, 返回值是读取到的内容(str)
# buf = f.readline()

# f.readlines()  # 按行读取,一次读取所有行,返回值是列表, 列表中的每一项是一个字符串,即一行的内容
buf = f.readlines()
print(buf)
buf = [i.strip() for i in buf]
print(buf)
f.close()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

模拟读取大文件

代码

f = open('a.txt', 'r', encoding='utf-8')
while True:
    buf = f.readline()
    if buf:  # if len(buf) > 0   容器,可以直接作为判断条件,容器中有内容,为True,没有数据是False
        print(buf, end='')
    else:
        # 文件读完了
        break

f.close()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

改版

f = open('b.txt', 'r', encoding='utf-8')
while True:
    buf = f.read(5)  # f.read(4096)
    if buf:
        # print(buf, end='')
        print(buf)
    else:
        break

f.close()

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

二进制方式操作文件

代码

f = open('c.txt', 'wb')
f.write('你好'.encode())   # encode() 将str 转换为二进制格式的字符串
f.close()


f1 = open('c.txt', 'rb')
buf = f1.read()
print(buf)
print(buf.decode())
f1.close()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

文件备份

代码

# 1. 用只读的方式,打开文件
f = open('a.txt', 'rb')
# 2. 读取文件内容
buf = f.read()
# 3. 关闭文件
f.close()
# 4. 只写的方式,打开新文件
f_w = open('a[备份].txt', 'wb')
# 5. 将 第 2 步读取的内容写入新文件
f_w.write(buf)
# 6. 关闭新文件
f_w.close()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言
python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

优化

file_name = input('请输入要备份的文件名')

# 1. 用只读的方式,打开文件
f = open(file_name, 'rb')
# 2. 读取文件内容
buf = f.read()
# 3. 关闭文件
f.close()

# 根据原文件名,找到文件后缀和文件名
index = file_name.rfind('.')
# 后缀  file_name[index: ]
# 新文件名
new_file_name = file_name[:index] + '[备份]' + file_name[index:]
print(new_file_name)
# 4. 只写的方式,打开新文件
f_w = open(new_file_name, 'wb')
# 5. 将 第 2 步读取的内容写入新文件
f_w.write(buf)
# 6. 关闭新文件
f_w.close()

文件和目录的操作

代码


效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言
报以上错误,需要在根目录下创建test文件夹
python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

批量修改文件名

代码

import os


def create_files():
    for i in range(10):
        file_name = 'test/file_' + str(i) + '.txt'
        print(file_name)
        f = open(file_name, 'w')
        f.close()


def create_files_1():
    os.chdir('test')
    for i in range(10, 20):
        file_name = 'file_' + str(i) + '.txt'
        print(file_name)
        f = open(file_name, 'w')
        f.close()
    os.chdir('../')  # ../ 上一级目录


def modify_filename():
    os.chdir('test')
    buf_list = os.listdir()
    # print(buf_list)
    for file in buf_list:
        new_file = 'py43_' + file
        os.rename(file, new_file)

    os.chdir('../')


def modify_filename_1():
    os.chdir('test')
    buf_list = os.listdir()
    # print(buf_list)
    for file in buf_list:
        num = len('py43_')
        new_file = file[num:]
        os.rename(file, new_file)

    os.chdir('../')


# create_files()
# create_files_1()
# modify_filename()
modify_filename_1()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言

学生管理系统文件版

代码

import os

# 定义学生列表,保存所有的学生信息
stu_list = []


def show_menu():
    print('1. 添加学生')
    print('2. 删除学生')
    print('3. 修改学生信息')
    print('4. 查询单个学生信息')
    print('5. 查询所有的学生信息')
    print('6. 退出系统')


def insert_student():
    # 1. 通过 input 函数获取学生的信息, 姓名, 年龄, 性别
    name = input('请输入学生名字:')
    # [{}, {}, {}]  判断的是字典中的 value 是否存在
    for stu in stu_list:
        if stu['name'] == name:
            print('----------学生信息存在---------')
            return  # 结束函数的执行

    age = input('请输入学生年龄:')
    gender = input('请输入学生性别:')
    # 2. 将学生信息转换为字典进行保存
    stu_dict = {'name': name, 'age': int(age), 'gender': gender}
    # 3. 将这个学生字典添加的列表中
    stu_list.append(stu_dict)
    print('==============学生信息添加成功====================')


def remove_student():
    # 1. 使用 input 获取要删除 /修改/查询 的学生姓名
    name = input('请输入要操作的学生的名字:')
    # 2. 判断学生信息是否存在
    for stu in stu_list:
        if stu['name'] == name:
            # 3. 学生存在,对学生进行 删除 /修改/查询 操作
            stu_list.remove(stu)
            # return
            break
    # 4. 学生信息不存在,直接结束
    else:
        print('***********该学生信息不存在,无法删除**************')


def modify_student():
    # 1. 使用 input 获取要删除 /修改/查询 的学生姓名
    name = input('请输入要操作的学生的名字:')
    # 2. 判断学生信息是否存在
    for stu in stu_list:
        if stu['name'] == name:
            # 3. 学生存在,对学生进行 删除 /修改/查询 操作
            stu['age'] = int(input('请输入新的年龄:'))
            # return
            break
    # 4. 学生信息不存在,直接结束
    else:
        print('***********该学生信息不存在,无法修改**************')


def search_student():
    # 1. 使用 input 获取要删除 /修改/查询 的学生姓名
    name = input('请输入要操作的学生的名字:')
    # 2. 判断学生信息是否存在
    for stu in stu_list:
        if stu['name'] == name:
            # 3. 学生存在,对学生进行 删除 /修改/查询 操作
            print(f'姓名:{stu["name"]}, 年龄:{stu["age"]}, 性别:{stu["gender"]}')
            # return
            break
    # 4. 学生信息不存在,直接结束
    else:
        print('***********该学生信息不存在**************')


def show_all_info():
    if len(stu_list) > 0:
        for stu in stu_list:
            print(f'姓名:{stu["name"]}, 年龄:{stu["age"]}, 性别:{stu["gender"]}')
            # print(stu)
    else:
        print('目前没有学生信息')


def save():
    # 1. 打开文件
    f = open('student.txt', 'w', encoding='utf-8')
    f.write(str(stu_list))
    f.close()


def load_file():
    global stu_list
    if os.path.exists('student.txt'):
        f = open('student.txt', 'r', encoding='utf-8')
        buf = f.read()
        if buf:
            stu_list = eval(buf)
        f.close()


def main():
    load_file()  # 只执行一次
    while True:
        show_menu()
        opt = input('请输入用来选择的操作编号:')
        if opt == '1':
            # print('1. 添加学生')
            insert_student()
        elif opt == '2':
            # print('2. 删除学生')
            remove_student()
        elif opt == '3':
            # print('3. 修改学生信息')
            modify_student()
        elif opt == '4':
            # print('4. 查询单个学生信息')
            search_student()
        elif opt == '5':
            # print('5. 查询所有的学生信息')
            show_all_info()
        elif opt == '6':
            print('欢迎下次使用本系统......')
            save()
            break
        else:
            print('输入有误,请再次输入')
            continue

        input('...... 回车键继续操作.......')


main()

效果

python-基础篇-文件-py脚本,# python基础篇,python,网络,开发语言文章来源地址https://www.toymoban.com/news/detail-823500.html

到了这里,关于python-基础篇-文件-py脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 02py游戏开发基础

    版本 pygame 2.4.0 (SDL 2.26.4, Python 3.8.2) Hello from the pygame community. https://www.pygame.org/contribute.html set_mode() set_mode()方法用于创建一个窗口或全屏幕显示,它的函数签名为: 其中,set_mode()方法有三个参数,分别为: resolution:表示窗口的分辨率,它是一个二元组,包含了窗口的宽度和

    2024年02月09日
    浏览(45)
  • python头部信息、py头部信息、python头信息、py头信息、py文件头部

    Python py文件头部可指定以下信息: 1. 文件编码: # -*- coding: utf-8 -*- (指定文件的字符编码,通常为UTF-8。) 示例: # -*- coding: utf-8 -*- # -*- coding: utf-8 -*- 是在Python源代码文件的开头添加的注释,用于指定整个源代码文件的编码格式为UTF-8。这种注释通常被称为文件编码声明(

    2024年02月16日
    浏览(37)
  • pycharm创建py文件时自动添加基础信息--模板

    在图片中加入下面基本信息,这些基本信息可以自己定义:

    2024年02月09日
    浏览(37)
  • python如何在一个py文件中调用另一个py文件中的方法

    要在一个Python文件中调用其他Python文件中的方法,可以使用Python的模块导入功能。模块是一个包含Python定义和语句的文件,可以被其他Python程序导入和使用。 假设我们有两个Python文件,一个是file1.py,另一个是file2.py。如果我们想在file1.py中调用file2.py中的方法,我们可以按照

    2024年02月11日
    浏览(37)
  • 自动化理论基础(2)—开发语言之Python

    一、知识汇总 掌握 Python 编程语言需要具备一定的基础知识和技能,特别是对于从事自动化测试等领域的工程师。以下是掌握 Python 的一些关键方面: 基本语法: 理解 Python 的基本语法,包括变量、数据类型、运算符、条件语句、循环语句等。 数据结构: 熟悉并能够使用

    2024年01月18日
    浏览(61)
  • 网络安全|渗透测试入门学习,从零基础入门到精通—渗透中的开发语言

    目录 前面的话 开发语言 1、html 解析 2、JavaScript 用法 3、JAVA   特性 4、PHP 作用 PHP 能做什么? 5、C/C++ 使用 如何学习 关于在渗透中需要学习的语言第一点个人认为就是可以打一下HTML,JS那些基础知识,磨刀不误砍柴工。其次,了解基本的代码后,就可以去学习相关的漏洞知

    2024年02月09日
    浏览(52)
  • Python - PyQT5 - ui文件转为py文件

    在QTdesigner图形化编辑工具中,有些控件我们是可以直接在编辑界面进行编辑的,有些是不可以编辑的,只能通过Python代码进行编辑,不过总体来说,所有能够通过图形化编辑界面可以编辑的,都可以通过Python语言实现控制,这点是毋庸置疑的,不过为了更加美观及降级软件开

    2024年02月05日
    浏览(53)
  • Python如何引用其他文件夹下的py文件

    Python引用其他模块的函数使用的语法是: from 模块名 import 函数名 如果将my_abs()函数定义保存为abstest.py文件,那么在该文件所在目录下,启动解释器,输入from abstest import my_abs,就可以执行my_abs函数。 那么,如何引用其他文件夹下的py文件 若要引用的包与文件不在同一个文件夹

    2024年02月16日
    浏览(68)
  • Python 打包配置文件 setup.py 详解

    在Python开发中,我们经常需要将自己的代码打包成可供其他人使用的库或应用程序。为了方便用户安装和使用,我们需要创建一个配置文件  setup.py ,用于定义打包的相关信息和依赖项。本文将详细介绍如何编写  setup.py  文件,并展示每一步需要做什么。 1.1 为什么需要对项

    2024年02月03日
    浏览(41)
  • python引入其他文件夹里的py文件的方法

    在写python框架的时候,经常会用到引入其他文件夹里的python文件,要是都在同目录下的还好,直接import就好了,可是有的不在同一个目录,很多初学者就发现直接import报错了 1.如果是同目录下的引入 如下图,test_a.py和test_b.py文件都在同一个目录 在这里插入图片描述   要在

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包