Ответ 1
Без разбора источника во время выполнения с помощью ast я не думаю, что будет легко или возможно вообще получить информацию из файлового объекта, вы могли бы убедиться, что новая строка была None
или ""
читая строку, проверяя атрибут newlines, но я не уверен, что атрибут newlines
всегда будет доступен:
next(f)
if f.newlines is None:
raise ValueError("...")
else:
f.seek(0)
Но если вы можете только принять файл-объект из функции, которая принимает имя файла, и открыть файл самостоятельно, чтобы вы могли контролировать:
def open_fle(f, mode="r"):
with open(f, mode=mode, newline="") as f:
.....