在Python中使用带标记而不是开放/读取的BytesIO有什么好处吗?

时间:2015-05-25 14:38:23

标签: python markdown stringio

考虑以下代码:

from markdown import markdown

f = open('myfile.md', 'r')
html_text = markdown(f.read())
f.close()

使用io.BytesIO和markdownFromFile有任何速度优势或劣势吗?还是洗漱?

from markdown import markdownFromFile
from io import BytesIO

s = BytesIO()
markdownFromFile(input='myfile.md', output=s)
html_text = s.getvalue()
s.close()

提前感谢任何信息。

1 个答案:

答案 0 :(得分:3)

最好是自己对它进行基准测试,但仅从它的外观来看,我看不到使用BytesIO的任何优势。您不是先读取文件并将其直接解析为字符串,而是首先将其读入并处理为BytesIO对象,然后使用BytesIO.getvalue获取所需的字符串。

前者也更容易阅读。可以通过以下方式变得更简单:

with open('myfile.md', 'r') as f:
    html_text = markdown(f.read())