zoukankan      html  css  js  c++  java
  • Python中关于txt的简单读写模式与操作

    Python中关于txt的简单读写操作

    常用的集中读写模式:

    1、r 打开只读文件,该文件必须存在。 
    2、r+ 打开可读写的文件,该文件必须存在。 
    3、w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 
    4、w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 
    5、a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 
    6、a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
    7、上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。

      1 读取全部内容

    try:
        #python3的open函数可以额外加一个encoding参数
        txt_file_handle=open("1.txt","r",encoding="utf-8")
        #read函数:直接取读文件的所有内容
        #参数:根据长度读取内容
        print(txt_file_handle.read(5))
        print("*"*50)
        #readline函数:读取文件的游标所在的一行
        #seek(0):将文件的游标指向最开始的位置
        txt_file_handle.seek(0)
        print(txt_file_handle.readline())
        print(txt_file_handle.readline())
        #readlines函数:去读文件的所有行,返回的是列表
        print("*"*50)
        print(txt_file_handle.readlines())
        print(txt_file_handle)
        txt_file_handle.close()
    except FileNotFoundError as e:
        print ("文件不存在!")

      2 逐行读取

    # 打开文件
    file_obj = open(txt_filename, 'r')
    
    # 逐行读取
    line1 = file_obj.readline()
    print(line1)
    
    
    # 继续读下一行
    line2 = file_obj.readline()
    print(line2)
    
    # 关闭文件
    file_obj.close()

      3 读取全部内容,返回列表

    # 打开文件
    file_obj = open(txt_filename, 'r')
    
    lines = file_obj.readlines()
    
    for i, line in enumerate(lines):
        print ('{}: {}'.format(i, line))
    
    # 关闭文件
    file_obj.close()

      4 写操作

    # 打开文件
    file_obj = open(txt_filename, 'w')
    
    # 写入全部内容
    file_obj.write("《Python数据分析》")
    file_obj.close()
    
    
    # 打开文件
    file_obj = open(txt_filename, 'w')
    
    # 写入字符串列表
    lines = ['这是第%i行
    ' %n for n in range(100)]
    file_obj.writelines(lines)
    file_obj.close()

      5 推荐写法

    从上边几种读写方式中不难发现, 每次进行读写操作时都要调用close()函数将文件关闭, 使用起来并不方便,所以推荐以下写法:

    try:
        with open("1.txt","r+",encoding="utf-8")as txt_file_handle:
            txt_file_handle.write()
    except FileNotFoundError as e:
        print ("文件不存在!")

      文件操作的推荐写法, 只要是文件操作,保险起见都要用try except进行异常捕获, with 写法的特点:不需要手动close, write() 里面填写内容即可, 其中

      with语句

    • 包括了异常处理,自动调用文件关闭操作,推荐使用
    • 适用于对资源进行访问的场合,确保无论适用过程中是否发生异常都会执行"清理"操作,如文件关闭、线程的自动获取与释放等
  • 相关阅读:
    【Leetcode】【hard】Binary Tree Postorder Traversal
    【Leetcode】【Easy】Contains Duplicate
    【Leetcode】【Easy】Isomorphic Strings
    【Leetcode】【Medium】Simplify Path
    【Leetcode】【Medium】Add Two Numbers
    【Leetcode】【Hard】Copy List with Random Pointer
    安装torch-opencv
    【转】ubuntu下修改文件夹权限
    Lua 中的 function、closure、upvalue
    多目标跟踪方法 NOMT 学习与总结
  • 原文地址:https://www.cnblogs.com/zyj-python/p/7413494.html
Copyright © 2011-2022 走看看