zoukankan      html  css  js  c++  java
  • Python_文本的读写操作

     

    【需求】

    1. 获取文本内容,提取内容中的可用信息,对信息进行清洗等一系列处理

    2. 算法输出一些内容,保存到文本文件中,便于使用

    【函数】

    在Python中open()函数是用来打开文件的,包括文本文件

    # 在Python3.x中 open函数的原型  默认mode = 'r'
    f = open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

    file: 文件名  (eg: 'example.txt') 前提是改文件在当前路径下,如果不在需要增加路径(eg: E:\'example.txt')

    mode: 文件打开的方式

     #目前最常使用的是  'r' :只读(需求1中可用)
     # 另外一个是       'a' : 追加写入(不会清空文本中的原有数据)
     #                'w':写入,但会清空原有数据,重新创建文本,覆盖之前
    #其他还有很多,实际使用用不到,值得注意的是 ‘b’ 二进制读取 和 写入 即‘rb’'wb'等 如图像或音频等

    buffering: 缓冲 默认为0 无缓冲  1是按行缓冲 >1是按设定字节缓冲

    初步理解:在文本写入的时候,是先写到内存中在写入磁盘的,也只有写入磁盘中的文本我们才能打开看到。

    无缓冲  ->  写入的文本直接进入磁盘 

    有缓冲  -> 内容先暂存在内存中,只有f.close() 关闭文件,才将内容刷新到磁盘中保存起来

    ## 暂时用不到该参数

    encoding: 文件编码方式 常用‘utf-8’ 【注】用什么方式写入就要以什么方式打开 否则就会出现乱码

    可以用Notepad++  打开文本,上面可以看到文件的编码方式,同时可以更改编码方式

     【示例】

    # 文本写入
    f = open("E:Learning_2019write_somthing.txt",mode= 'w',encoding='utf-8') f.write("1. keep working 2. do yourslef 3. to be NO.1 4. what are you 弄啥嘞 ") f.close()
    # 文本读取
    f = open("E:Learning_2019write_somthing.txt",mode= 'r',encoding='utf-8') print(f.read())
    """
    1. keep working
    2. do yourslef
    3. to be NO.1
    4. what are you 弄啥嘞
    """

    文本读取:

    f.read()  读取文本中的所有内容

    f.readline()  读取文本中的一行,从第一行开始

    f.readlines()  读取文本中的所有行 输出列表

     2019.09.24更新

    Python读取json文件中的内容

    逐行获取json内容得到的是str,需要json.loads()转换成字典,之后在根据字典['keys'] 提取value

     1  import json
     2  with open(f'123.json','r') as f:
     3         while(1):
     4             # 读取每行内容  类型str
     5             line = f.readline()
     6             total_num += 1
     7             if not line:
     8                 break
     9             # 将str转换成dict
    10             dict_line = json.loads(line)
  • 相关阅读:
    HDU 3681 Prison Break(状态压缩dp + BFS)
    POJ 2711 Regular Words(DP + 高精度)
    ZOJ 2745 01-K Code(DP)(转)
    DAG模型——硬币问题
    HDU 1619 Unidirectional TSP(单向TSP + 路径打印)
    DAG模型——嵌套矩阵
    HDU 4294 A Famous Equation(DP)
    HDU 3920 Clear All of Them I(DP + 状态压缩 + 贪心)
    POJ 3254 Corn Fields(DP + 状态压缩)
    HDU 2089 不要62(数位DP)
  • 原文地址:https://www.cnblogs.com/wangxiaobei2019/p/11563172.html
Copyright © 2011-2022 走看看