1. from glob import glob # 匹配查找文件
  2. for fname in glob("*.py"):
  3. print(f"\n{fname}")
  4. with open(fname,'r',encoding='utf-8')as f:
  5. print(f.read())

实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件
image.png

Python对象序列化为一个字节流,以便将它保存到一个文件、存储到数据库或者通过网络传输它

  1. import pickle
  2. order = list(range(10))
  3. with open("order.txt","wb") as fout:
  4. pickle.dump(order,fout)
  5. with open("order.txt","rb") as fin:
  6. order = pickle.load(fin)
  7. print(order) # 输出输入的pickle方式

pickle 是一种Python特有的自描述的数据编码。 通过自描述,被序列化后的数据包含每个对象开始和结束以及它的类型信息。 因此,你无需担心对象记录的定义,它总是能工作

  1. order = list(range(10))
  2. with open("order.txt","wb") as fout:
  3. pickle.dump(order,fout)
  4. pickle.dump("hello",fout)
  5. pickle.dump(123,fout)
  6. with open("order.txt","rb") as fin:
  7. # order = pickle.load(fin)
  8. print(pickle.load(fin))
  9. print(pickle.load(fin))
  10. print(pickle.load(fin))
  11. """
  12. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  13. hello
  14. 123