我能找到的只有这个语句
创建文本流的最简单方法是使用open(),可以选择指定编码:
f = open("myfile.txt", "r", encoding="utf-8")内存中的文本流也可作为StringIO对象使用:f = io.StringIO("some initial text data")
但是,这并没有给出我什么时候应该在io.StringIO上使用io.StringIO,反之亦然。我知道他们在幕后的工作方式并不完全相同。但是为什么会有人在Python3中使用open()呢?
发布于 2018-05-18 20:05:18
不同之处在于:open采用文件名(以及一些其他参数,如模式或编码),io.StringIO采用一个普通字符串,并且都返回类似文件的对象。
因此:
open读取文件;StringIO。一个使用StringIO的例子
import csv
import io
reader = csv.reader(io.StringIO("a,b,c\n1,2,3"))
print ([r for r in reader])
# output [['a', 'b', 'c'], ['1', '2', '3']]它非常有用,因为您可以在需要文件的地方使用字符串。
在通常情况下,在磁盘上有一个csv文件,您可以编写如下内容:
with open(<path/to/file.csv>, ...) as f:
reader = csv.reader(f, ...)https://stackoverflow.com/questions/50418448
复制相似问题