Я преподаю интро-программирующий класс в Python, и мы говорим об исключениях и вводах файлов. Я ищу способ быстро и просто проверить их обработку ошибок. Теперь при открытии файла легко вызвать IOError (просто убедитесь, что нет файла с указанным именем файла), но я бы хотел проверить, способны ли они обрабатывать IOErrors, которые возникают чтение или запись в файл, и я не могу представить простой и быстрый способ убедиться, что в это время произойдет IOError. Я попытался использовать двоичный файл, который открывается нормально, но вызывает проблемы, если вы пытаетесь его прочитать, но это вызывает UnicodeDecodeError, который не является типом IOError в Python.Как легко и последовательно вызывать IOError какого-либо рода при чтении или записи в текстовый файл?
Любые мысли?
'с открытым ("foo.txt"), как F: f.write ("Foo") 'приведет к ошибке io. открытие для записи и попытки чтения также вызовет ошибку io, 'open (" foo.txt "," w ") как f: для строки в f: ...' –
Вы можете создать объект mock file, который вводит ошибки. Если вы участвуете в модульном тестировании, и особенно если вы участвуете в практике тестирования, это будет хорошим способом. – tdelaney
Есть ли способ сделать это без редактирования исходного кода учащегося? Это будет работать, но я надеялся на что-то более простое. –