在python中读写TXT文本文件
    使用python内置的open函数 打开txt文件

    open(object,mode)函数 
       object:要打开文件的名称
       mode:选择打开文件的方式
           w:只能操作写入   r:只能读取   a:向文件追加数据 
           w+:可读可写     r+:可读可写  a+:可读可追加
           wb+:写入进制数据
      w模式打开文件,如果文件中有数据,再次写入内容,会把原来数据的覆盖掉
         a模式打开文件,如果文件中有数据,再次写入内容时,不会覆盖原来的数据,而是在其后添加数据
r模式打开文件,做读取文件操作时,文件必须存在,否则会出现如下错误 :          
         open()函数,mode参数(这种不是必须要传递函数叫做缺省参数)默认就是r模式,如果只是读文件,可以不填写mode模式

  ​w模式下打开文件
    1.打开文件
      file_handle = open('1.txt',mode='w')
    2.向文件中写入数据
     2.1.write 写入,write()函数会将字符串写入到txt文本中
       file_handle.write('hello world')
       一条数据写完,再次写入数据时,数据会紧跟在原来的数据后面,write()函数不会自动输出换行符,如果需要换行可以输入'\n',例:write('\n')
       file_handle.write('你好 世界\n')
     2.2.writelines()函数 会将列表中的字符串写入文件中,但不会自动换行,如果需要换行,手动添加换行符
        writelines()函数 参数 必须是一个只存放字符串的列表
       file_handle.writelines(['hello\n','world\n','你好\n'])

   3.关闭(保存)文件
    file_handle.close()

​ r模式下打开文件
   1.打开文件
     file_handle =open('1.txt',mode='r')

   2.读取文件内容(文件读取是从光标所在位置开始读取,且读取文件内容时,光标会移动到你读取得内容末尾位置)
      2.1 read(int)函数,读取文件内容,参数可指定读取长度。如果指定读取长度,会按照长度去读取,不指定读取所有数据(返回字符串)
        content = file_handle.read()

      2.2 readline(int) 函数 默认读取文件中一行数据(返回字符串)
        content = file_handle.readline()

      2.3 readlines()读取所有行的数据,会把每一行的数据作为一个元素,放在列表中返回(返回列表)
        contents = file_handle.readlines()
   
   3.关闭文件
    file_handle.close()
      
​其他函数

    1、tell()函数 返回当前文件中光标的位置
      获取光标的位置
      number = file_handle.tell()
    2、seek()函数 
     第一个参数 offset 直接指定文件的光标位置,调整光标位置 offset:偏移量
     第二个参数 whence  whence=0 直接移动到开始位置 whence=1 当前位置  whence=2 末尾位置  whence默认值0

file_handle.seek(0)

下面是一个简易的学员管理系统:

import os
# 添加学员函数
def add_student():# 输入学员姓名、年龄、电话
    name = input('请输入学员姓名:')age = input('请输入学员年龄:')phone = input('请输入学员电话:')# 把name、age、phone放在小列表中
    student = [name, age, phone]# 把小列表添加到所有学员的大列表中
    # append(object)  insert(index, object)  extend(iterable)
    print(student_list)student_list.append(student)print('******添加学员成功******')print(student_list)# 查询学员函数
def query_student():# 1.查询所有学员
    # 2.输入学员姓名查询学员  得到查询的学员的序号

    print('**********学员信息列表***********')# 遍历大列表
    for x in range(0, len(student_list)):# 根据x的值  从大列表中取出小列表
        student = student_list[x]# 从小列表中取出姓名、年龄、电话
        name = student[0]age = student[1]phone = student[2]print('序号:%s 姓名:%s 年龄:%s 电话:%s' % (x, name, age, phone))# 修改学员函数
def update_student():# 判断是否有学员信息,如果没有,直接结束函数的执行
    if len(student_list) == 0:print('没有学员信息,无法进行修改操作!')# 强制结束函数的执行 return 下面的代码 都不会再执行了
        return
    # 1.查询学员信息
    query_student()# 2.选择要修改的学员序号
    num = input('请选择要修改的学员序号:')# 3.转换为整数
    num = int(num)# 4.判断选择学员序号是否在范围内
    while num not in range(0, len(student_list)):# 不在范围,重新选择
        num = input('没有该序号,请重选:')num = int(num)# 5.根据选择的序号取出对应的学员信息小列表
    student = student_list[num]new_name = input('请输入修改后的姓名(%s):'%student[0])new_age  = input('请输入修改后的年龄(%s):'%student[1])new_phone = input('请输入修改后的电话(%s):'%student[2])# 6.修改小列表中的数据
    student[0] = new_namestudent[1] = new_agestudent[2] = new_phoneprint('----修改数据完成----')# 删除学员信息
# 1.根据学员序号删除  2.删除所有学员  3.根据学员姓名删除(有同名的,把同名的都删除)
def delete_student():if len(student_list) == 0:print('没有学员信息,无法执行删除操作!')return

    print('1.根据学员序号删除')print('2.删除所有学员')# 获取输入的内容 并转换为整数类型
    num = int(input('请选择您的操作:'))while num not in range(1, 3):num = int(input('选项错误,请重选:'))# 判断选择选项
    if num == 1:# 1.展示所有学员的信息
        query_student()# 2.选择删除的序号
        index = int(input('请输入要删除的学员序号:'))# 3.判断选择序号是否在范围内
        while index not in range(0, len(student_list)):index = int(input('没有该序号,请重选:'))# 4.删除指定索引的数据
        del student_list[index]# student_list.pop(index)
    else:# 确认删除
        rs = input('确定要删除所有信息?y(确定)/n(取消):')if rs == 'y':# 删除列表中的所有的数据
            student_list.clear()else:print('删除数据操作已取消!')
# 学员信息保存函数
def save_data():file_handle = open('student_info.txt','w')for student in student_list:for info in student:file_handle.write(info)file_handle.write(' ')file_handle.write('\n')file_handle.close()
# 学员信息读取函数
def read_data():if os.path.exists('student_info.txt') == True:file_handle = open('Student.txt','r')students = file_handle.readlines()for student in students:student = student.strip('\n')list = student.split(' ')list.pop()student_list.append(list)file_handle.close()# 1.声明大列表,存放所有学员信息
student_list = []
read_data()
print(student_list)
# 2.while循环
while True:print('*******学员管理系统V2.0********')print('*******出品人:######## ********')print('1.添加学员')print('2.查询学员')print('3.修改学员')print('4.删除学员')print('0.退出程序')print('******************************')# 选择操作
    num = input('请选择您的操作:')# 转换为整数
    num = int(num)# 判断选择的选项是否在范围内
    while num not in range(0, 5):# 重新选择
        num = input('没有该选项,请重选:')# 把字符串类型转换整数类型
        num = int(num)# 根据选择的选项执行对应的操作
    if num == 1:# 调用添加学员的函数
        add_student()elif num == 2:# 调用查询学员的函数
        query_student()elif num == 3:# 调用修改学员的函数
        update_student()elif num == 4:# 调用删除学员的函数
        delete_student()else:save_data()print('程序已结束!')break

在python中如何读写txt文本文档相关推荐

  1. 我的电脑中无法新建txt文本文档

    我的电脑中无法新建txt文本文档 电脑中病毒或者是系统错误所致,可以通过如下方式进行解决: 1.按Win+R打开运行,输入regedit,回车打开注册表编辑器; 2.按Ctrl+F键,输入:.txt, ...

  2. 从TXT文本文档向Sql Server中批量导入数据

    因为工作的需要,近期在做数据的分析和数据的迁移.在做数据迁移的时候需要将原有的数据导入到新建的数据库中.本来这个单纯的数据导入导出是没有什么问题的,但是客户原有的数据全部都是存在.dat文件中的.所以 ...

  3. PDF文件如何转换成txt文本文档

    想要将PDF文件转换成txt文本文档,需要用到PDF转换器的帮助,比如奥凯丰 PDF转换大师将PDF文件格式转换一下. [PDF转换大师]转为word_excel_ppt_txt_jpg等格式-奥凯丰 ...

  4. txt文本文档加密方法总结

    txt文本想要加密只能借助外部功能,因为txt文本文档没有自带加密功能.所以今天给大家总结加密方法. RAR加密 通过将txt文本文档压缩成rar格式的压缩包,在压缩过程中添加密码,这样就是对压缩包进 ...

  5. 同时删除多个 Txt 文本文档的前几行

    概要:在网上下载 txt 格式的文本文件是我们经常会需要碰到的一种需求,不管是下载小说还是一些其他的学习资料,可能下载下来的文件就是txt格式的.这些下载下来的 txt 文件前面几行可能会有一些内容是 ...

  6. 同时删除多个 Txt 文本文档的最后几行

    概要:在平常的工作当中,我们对文本文件的使用是非常普遍的,文本文件的类型多种多项,有 txt 扩展名的.有 xml 扩展名的,甚至还有些文本文件是没有任何扩展名的.有时候可能我们会在网上下载一些文本文 ...

  7. MATLAB提取txt文本文档中特定关键字后的数字信息

    文本文档的信息多是按照行的格式读写的,因此在读取时对提取到每行的文本信息进行关键字的对比找到指定行,然后利用正则表达式提取相应的信息即可. 文本信息示例 positions bitstream siz ...

  8. Unity学习篇之txt文本文档的多种读写方式

    在Unity开发中,有时候需要将参数写在外部文档中方便动态读取和修改,文档可以是txt.xml.json,这篇文章介绍一下txt文档的几种读取和写入方法. 1.读取txt文档 首先在Unity中新建一 ...

  9. 使用记事本保存的html乱码,电脑中记事本保存的文本文档显示乱码的解决办法...

    ? 在电脑中我们可以打开记事本,记录一些基本的不需要格式的文本数据,保存为txt格式的文本文档.但有用户发现在打开电脑中保存的文本文档后,里面的内容显示的都是乱码.如果我们遇到了这样的情况,应该如何解 ...

  10. 修改注册表快速新建txt文本文档

    平台: Windows 经常会遇到比如新建文件夹, 以及新建文本文档之类的需要. 新建文件夹默认提供快捷键 Ctrl + Shift + N, 但新建一个文本文档还需要右键, 加鼠标操作, 显得不那么 ...

最新文章

  1. cs go linux 参数,CSGO 命令大全 给新手的福利 使用设置参数
  2. Pandas可视化综合指南:手把手从零教你绘制数据图表
  3. 【拯救赵明】 安全方案 超简单
  4. ssl2346-联络员【图论,最小生成树】
  5. mxnet创建新的操作(层)
  6. Mysql连接失败报Received fatal alert: protocol_version问题解决
  7. 因触屏故障 美国监管部门对15.9万辆特斯拉进行调查
  8. poj3667 hotel
  9. MySQL essential版本和普通版本有什么区别?
  10. 网络空间安全——总结
  11. EFResume - 一个普通的 Swift 简历模板
  12. 步态数据去噪滤波器之巴特沃斯滤波器
  13. 思考项目成功的关键因素
  14. 四位共阳极数码管显示函数_4位共阴极数码管单片机驱动
  15. vscode open with live server 打不开浏览器 显示 windows找不到‘chrome’,请确定文件名是否正确后,再试一次
  16. 基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
  17. Psoc Creator入门——EZI2C 通信
  18. css【详解】grid布局—— 网格布局(栅格布局)
  19. P1075 [NOIP2012 普及组] 质因数分解
  20. linux系统配置sftp服务器,linux配置sftp服务器配置

热门文章

  1. sqlite3的使用
  2. ping-pong buffer
  3. python模拟用户登录代码_Python模拟用户自动登陆网易126邮箱源码详解
  4. 深入浅出DockerPDF
  5. 解决 Cannot uninstall 'ipython'. It is a distutils installed project and thus we cannot accurately det
  6. 结对开发项目--石家庄地铁web版
  7. 算法设计与分析: 3-4 多重幂计数问题
  8. 用matlab作gmm参数估计,GMM模型的EM参数估计算法
  9. 主成分分析(PCA)
  10. 青出于蓝而胜于蓝!他在大学期间用Python开发APP-MMUBee