Python cookbook 学习笔记 第五章
百无一用生
这个作者很懒,什么都没留下…
展开
-
python cookbook 学习笔记 第五章 文件与IO (2) 打印输出至文本文件
打印输出至文本文件问题:想将print()函数的输出重定向到一个文件中去解决方案:在print()函数中指定 file 关键字参数,像下面这样:with open("d:/work/test.txt", "wt") as f: print("hello world!", file= f)with open(r"E:\test\python进阶\Python_c...转载 2018-12-08 00:07:16 · 101 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (10) 内存映射的二进制文件
内存映射的二进制文件问题:想内存映射一个二进制文件到一个可变字节数组中,目的可能是为了随机访问它的内容或原地做些修改。解决方案:使用 mmap 模块来内存映射文件。下面是一个工具函数,演示了如何打开一个文件并以一种便捷方式内存映射这个文件。import osimport mmapdef memory_map(filename, access= mmap.ACCESS...转载 2018-12-08 00:39:43 · 210 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (9) 读取二进制数据到可变缓冲区中
读取二进制数据到可变缓冲区中问题:想直接读取二进制数据到一个可变缓冲区中,而不需要做任何的中间复制操作,或者想原地修改数据并将它写回 到一个文件中去。解决方案:为了读取数据到一个可变数组中,可使用文件对象的 readinto()方法。比如:import os.pathdef read_buffer(filename): buf = bytearray(os.p...转载 2018-12-08 00:34:50 · 168 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (8) 固定大小记录的文件迭代
固定大小记录的文件迭代问题:想在一个固定长度记录或者数据块的集合上迭代,二不是在一个文件中一行一行的迭代解决方案:通过下面这个小技巧使用 iter 和 functools.partial()函数:from functools import partialRECORD_SIZE = 32with open("somefile.txt", "rb") as f: ...转载 2018-12-08 00:30:59 · 96 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (7) 读写压缩文件
读写压缩文件问题:想读写一个 gzip 或者 bz2 格式的压缩文件解决方案:gzip 和 bz2 模块可以很容易的处理这些文件。两个模块都为 open() 函数提供了另外的实现来解决这个问题。比 如,为了以文本形式读取压缩文件,可以这样做:import gzipwith gzip.open("somefile.gz", "rt") as f: text = f...转载 2018-12-08 00:27:51 · 111 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (6) 使用操作类文件对象的程序来操作文本或者二进制字符串
字符串的 I/O 操作问题:使用操作类文件对象的程序来操作文本或二进制字符串解决方案:`- 使用 io.StringIO()和io.BytesIO()类来创建文件对象操作字符串数据:import ios = io.StringIO()s.write("Hello World\n") # 12print(s) # <_io.StringIO object at ...转载 2018-12-08 00:24:21 · 89 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (5) 文件不存在才能写入
文件不存在才能写入问题:想向一个文件中写入数据,但前提是这个文件不存在,也就是说不允许覆盖已经存在的文件。解决方案:可以在 open()函数中使用 x 模式来代替w模式的方法解决这个问题:with open("somefile.txt", "xt") as f: f.write("Hello world!\n")# FileExistsError: [Errn...转载 2018-12-08 00:20:10 · 99 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (4) 读写字节数据
读写字节数据问题:想读取二进制文件,比如图片,声音文件等等。解决方案:使用模式为rb 或者 wb 的 open()函数来读取或者写入二进制数据:with open("1.jpg","rb") as f,\ open("test1.jpg","wb") as w: data = f.read() w.write(data)在读取二进制...转载 2018-12-08 00:16:18 · 130 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (3) 使用其他分割符或者终止符来打印
使用其他分割符或者行终止符打印问题:想使用print()函数输出数据,但是想改变默认的分割符或者行尾符。解决方案:可以在 print() 函数中使用 sep 和 end 关键字参数:print("ACME", 50, 91.5) # ACME 50 91.5print("ACME", 50, 91,5, sep= ",") # ACME,50,91,5print(...转载 2018-12-08 00:12:14 · 101 阅读 · 0 评论 -
python cookbook 学习笔记 第五章 文件与IO (1)读写文本数据
读写文本数据问题:需要读写各种不同编码的文本数据,比如ASCII, UTF-8, UTF-16编码等。解决方案:使用带有rt模式的 open()函数读取文本文件:with open("somefile.txt", "rt") as f: data = f.read()with open("somefile.txt", "rt") as f: for l...转载 2018-12-07 00:42:14 · 158 阅读 · 0 评论