Я написал API, где пользователь может направить вывод запроса SQL для:Python - Является ли stdout всегда «доступным»?
1> Excel (класс ExcelOut)
2> CSV (класс CSVOut)
3> Стандартный выход (класс Stdout)
в течение первых 2-х типов выходных, я ожидаю, что пользователю предоставить мне местоположение файла, а затем проверяет API, если место существует так называемый аргумент проверки
для стандартного вывода, я задаюсь вопросом, есть ли проверка нужна? то есть когда-либо когда-либо, когда пользователь (разработчик) API не знает, что sys.stdout не «доступен» при запуске кода?
спасибо за ваш вклад. 1, 2, 4 и 5 кажутся преднамеренными попытками не иметь доступную версию. Может быть, я должен был быть явным в своем вопросе, но я ищу сценарии, когда пользователь не знает, что sys.stdout недоступен (причина в том, что я ожидаю, что пользователь все равно будет разработчиком). –
oh и вопрос, будет ли полный диск влиять на стандартную версию, если стандартный вывод - текстовый терминал? Приносим извинения, если это глупый вопрос, но у меня создалось впечатление, что печать на экране не требует использования дискового пространства. –
@name_masked Это выглядит преднамеренно, потому что это самый короткий способ воспроизвести те же условия. Мы можем [искать github] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#safe=off&q=stdout+%22bad+file+descriptor%22+site:github .com) для случаев реального мира 1. 2 может легко произойти при использовании сценариев xinetd и cgi. 4 и 5 могут быть связаны с невинным взглядом './yourscript | gawk -F, '{print $ 1}'> file'. –