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\temp\readme.txt"
    ""为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义

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

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

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

posted @ 2020-05-22 17:02  翠果不是果果  阅读(134)  评论(0编辑  收藏  举报