簡體   English   中英

如何使用python源文件的'coding'標頭正確讀取其內容?

[英]How can use the 'coding' header of a python source file to read its contents properly?

Python源文件通常帶有類似於以下內容的coding標頭

# -*- coding: iso-8859-1 -*-

我如何在這行代碼中正確解析此類文件的內容? 有沒有比以二進制模式手動打開文件,讀取一行並檢查它是否包含標題更好的方法? 有圖書館這樣做嗎?


背景:這是在修復此bug的背景下進行的,當與python3和importmagic結合使用時,elpy會崩潰。 我要修復的代碼使用

with open(filename) as fd:
    success = subtree.index_source(filename, fd.read())

並在非utf-8文件上崩潰。 理想情況下,我希望將更改減到最少。

tokenize.open()可以做到這一點:它使用coding標頭( 編碼聲明 )中指定的字符編碼打開Python源文件。

您也可以實時解碼遠程Python文件

暫無
暫無

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

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