如何使用 MIME 类型为 `text/plain` 的 Python 编写单字符文件?

How to write a one character file using Python with mime type `text/plain`?

如何在 Python 3.8 中编写具有 text/plain mime 类型的单字符文件?

使用Python,如果我写一个字符到一个文件,文件的mime类型是application/octet-stream

with open('file_from_python', 'w') as f: f.write('x')

(注意:使用上面的 Python 代码写入多个字符会导致 text/plain mime 类型;只有当您向文件写入少于两个字符时才会出现此问题。 =20=]

使用以下 Linux 命令行检查 python 生成文件的 MIME 类型:

file --mime-type file_from_python 
file_from_python: application/octet-stream

使用Linux终端,如果我写一个字符到一个文件,文件的mime类型是text/plain.

echo "x" > file_from_bash

使用以下 Linux 命令行检查 Linux 终端生成文件的 MIME 类型:

file --mime-type file_from_bash
file_from_bash: text/plain

file 命令只是应用试探法来很好地猜测文件类型。它不能很好地猜测一个 1 字节的文件,所以它放弃了。

这部分 Python 将生成与您的 bash 命令相同的文件:

with open('file_from_python_text', 'w') as f: f.write('x\n')

Echo 添加换行符。

不确定您的应用如何检查 mime 类型,但您应该知道 mime 类型与文件内容并没有真正关联。它是从它派生的(因为这是唯一理智的方式)但是没有什么能阻止你说我。 e. JPG 文件是 text/plain,纯文本文件是 application/octet-stream 甚至 image/jpeg。换句话说,如果需要,您可以根据自己的规则轻松判断它是什么 mime 类型。此外,file 意见并不明确也不具有权威性,即使它通常是正确的。