• python文件基础


    1.读取

    • read()到文件末尾返回空字符串,输出为空行
    • file_object.read 返回字符串
    • fp.readline([size]) 读取一行,如果定义了size,有可能返回的只是一行的一部分
    • fp.readlines([size]) 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
    with open(filepath) as file_object:
          content = file_object.read()       //读取文件存入字符串,每行末尾有回车
          
          for line in file_object:         //逐行读取,retrip()删除行末换行符
                print(line.rstrip())
    
          lines = file_object.readlines()  //将文件内容存入列表
          for line in lines:             
                print(line.rstrip())
    

    2.写入

    • fp.write(str) 把str写到文件中,write()并不会在str后加上一个换行符
    • fp.writelines(seq) 把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
    • 如果要写入的文件存在,以"w"模式打开文件,返回文件对象前将清空文件
      w 以写方式打开,
      a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
      r+ 以读写模式打开
      w+ 以读写模式打开 (参见 w )
      a+ 以读写模式打开 (参见 a )
      rb 以二进制读模式打开
      wb 以二进制写模式打开 (参见 w )
      ab 以二进制追加模式打开 (参见 a )
      rb+ 以二进制读写模式打开 (参见 r+ )
      wb+ 以二进制读写模式打开 (参见 w+ )
      ab+ 以二进制读写模式打开 (参见 a+ )
    with open(filepath, 'w') as file_object:
          file_object.write('hello')
    

    3.json模块存储

    两个形参:y要存储的数据和文件对象

    nums=[1,2,3,4]
    //写入文件
    filename = 'numbers.json'
    with open(filename, 'w') as file_object:
          json.dump(nums,file_object)
    
    //读取文件 
    with open(filename) as file_object:
          nums= json.load(file_object)
    
    

    4.文件路径

    ../ 表示当前文件所在的目录的上一级目录 
    ./ 表示当前文件所在的目录(可以省略) 
    / 表示当前站点的根目录(域名映射的硬盘目录) 
    

    打开文件函数open()中的参数可以是path也可以是path1、path2、path3。

    • path = r"C:Windows emp eadme.txt"
      ""为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的" "、" " 进行字符串转义

    • path1 = r"c:windows emp eadme.txt"
      大小写不影响windows定位到文件

    • path2 = "c:windows emp eadme.txt"
      用一个""取消第二个""的特殊转义作用,即为""

    • path3 = "c:/windows/temp/readme.txt"
      用正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠转义的烦恼

  • 相关阅读:
    LeetCode 788. Rotated Digits
    LeetCode 606. Construct String from Binary Tree
    LeetCode 13. Roman to Integer
    LeetCode 387. First Unique Character in a String
    LeetCode 520. Detect Capital
    LeetCode 557. Reverse Words in a String III
    RSA加密算法及其与SpringMVC集成
    用phantomjs 进行网页整页截屏
    redis应用场景
    MQ产品比较-ActiveMQ-RocketMQ
  • 原文地址:https://www.cnblogs.com/centralpark/p/12938279.html
Copyright © 2020-2023  润新知