IO操作

文件读写:

  读:open(文件名,标识符),标识符:' r '(读)、' rb '(读取二进制文件)

  写:open(文件名,标识符),标识符:' w '(写)、' wb '(写二进制文件)

    read():可以一次读取文件的全部内容。

    write():当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。

    close():关闭文件

内存读写:

  StringIO:在内存中读写str。

   BytesIO:在内存中读写bytes。

操作文件和目录:

  操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中。

    查看当前目录的绝对路径:os.path.abspath('.')

    在某个目录下创建一个新目录,首先把新目录的完整路径表示出来:os.path.join('/Users/michael', 'testdir'),后创建一个目录:os.mkdir('/Users/michael/testdir')

    删掉一个目录:os.rmdir('/Users/michael/testdir')

    合并路径:os.path.join()

    拆分路径:os.path.split()

序列化:把变量从内存中变成可存储或传输的过程。

  序列化(pickling)之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。

   反序列化(unpickling):把变量内容从序列化的对象重新读到内存里。

   Python提供了pickle模块来实现序列化。

    pickle.dumps()方法把任意对象序列化成一个bytes

    pickle.dump()直接把对象序列化后写入一个file-like Object

  当我们要把对象从磁盘读到内存时,可以先把内容读到一个bytes,然后用pickle.loads()方法反序列化出对象,也可以直接用pickle.load()方法从一个file-like Object中直接反序列化出对象

  JSON:一种标准格式,表示出来就是一个字符串,可以被所有语言读取,可以方便地存储到磁盘或者通过网络传输。

    JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:

JSON类型Python类型
{} dict
[] list
"string" str
1234.56 int或float
true/false True/False
null None

 

    Python内置的json模块提供了非常完善的Python对象到JSON格式的转换。

      dumps()方法返回一个str,内容就是标准的JSON。类似的,dump()方法可以直接把JSON写入一个file-like Object

      要把JSON反序列化为Python对象,用loads()或者对应的load()方法,前者把JSON的字符串反序列化,后者从file-like Object中读取字符串并反序列化。

      

posted @ 2018-08-27 18:01  yl007  阅读(118)  评论(0编辑  收藏  举报