我从您询问的有关 Python-Markdown 的问题的详细信息中猜测,因此我在源代码中为您查找了相关行:按照 Daniel 的方式进行操作,在 markdown/__init__.py 的第 443 行,你想替换
input_file = codecs.open(input, mode="r", encoding=encoding)
与
input_file = codecs.EncodedFile(sys.stdin, encoding)
尽管之后您将无法实际处理文件,因此对于更普遍有用的 hack,您可以输入条件:
if input:
input_file = codecs.open(input, mode="r", encoding=encoding)
else:
input_file = codecs.EncodedFile(sys.stdin, encoding)
然后你必须调整 markdown/commandline.py 以不退出,如果它没有给出文件名:更改第 72-73 行
parser.print_help()
return None, None
到
input_file = None
关键是,这并不是一件简单的事情。在这一点上,如果他没有打败我,我会建议使用像 Mark Rushakoff 那样的特殊文件;-)