簡體   English   中英

如何使用具有 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 類型;僅當您向文件寫入少於兩個字符時才會出現此問題)。

使用以下 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 類型與文件內容並沒有真正關聯。 它是由它派生的(因為這是唯一理智的方式),但沒有什么能阻止你說 JPG 文件是text/plain而純文本文件是application/octet-stream甚至是image/jpeg 換句話說,如果需要,您可以根據自己的規則輕松判斷它是什么 mime 類型。 file意見也不是確定的,也不是權威的,即使它通常是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM