143 我有一个返回字符串的函数。该字符串包含回车符和换行符(0x0D,0x0A)。但是,当我写入文件时,它仅包含换行符。有没有一种方法可以使输出包括回车和换行符。 msg = function(arg1, arg2, arg3) f = open('/tmp/output', 'w') f.write(msg) f.close() python — 黑忍者543 source 阅读file.__doc__ — wim 2012年
257 如果要写入字节,则应以二进制模式打开文件。 f = open('/tmp/output', 'wb') — 伊格纳西奥·巴斯克斯(Ignacio Vazquez-Abrams) source 8 由于OP似乎正在使用非Windows平台,因此这仅在Py3中有效。在Py2中,您需要使用io.open。 — lvc 2012年 2 我认为这是python本身的错误,因为python可以在运行时检测数据类型,并且可以在二进制和文本输入之间进行检测,我认为应该在python本身中进行修复,为什么会有数百人最终出现在此页面中,如果可以通过python stdlib中的if语句来避免此问题,如果同意,请向上投票,如果必须,请向下投票我遗忘。 — 菲利佩·瓦尔德斯 2 @FelipeValdes不幸的是,如果内容被错误地检测到,则在编写内容时可能会引起意外。更令人烦恼的是,错误检测只能在某些奇怪的边缘情况下发生,这些情况变得令人惊讶且难以追踪。而是依靠显式行为,即使这意味着我们有这个问题,也可以确保我可以确定IO在不同情况下的行为方式。 — 利亚姆·道森 1 字节文件有什么扩展名? — Chia yongkang @FelipeValdes与最小惊奇/惊讶感的原理有关(en.wikipedia.org/wiki/Principle_of_least_astonishment)。您的方法将更恰当地命名为:open_and_detect_file_type() — henrycjc
file.__doc__