Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用BytesIO和markdown而不是open/read有什么优势吗?_Python_Markdown_Stringio - Fatal编程技术网

在Python中使用BytesIO和markdown而不是open/read有什么优势吗?

在Python中使用BytesIO和markdown而不是open/read有什么优势吗?,python,markdown,stringio,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(in

考虑到以下准则:

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()

提前感谢您提供的任何信息。

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

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

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

你做基准测试了吗?我明天一到办公室就要做基准测试;在家里的笔记本电脑上,把它放在一个流浪汉的盒子里运行似乎不是一个好的沙箱。谢谢!明天我将以我自己的启发为基准,但你的答案完全有道理。作为Python Markdown的开发人员,我完全同意这个答案,但有一个例外:小心,你似乎认为你在处理字节;然而,Markdown库完全支持Unicode(输入和输出)。当然ASCII输入不会有问题,但如果你不考虑这一点,其他任何东西都会有问题。谢谢你的提示,以及你在优秀库Waylan上的所有工作-非常感谢。