Сделал быстрый скрипт на моем компьютере с Windows, чтобы запросить API и записать в электронную таблицу. Проблема в том, что человек, запускающий это, будет на Mac, поэтому я пытаюсь перенести его на Mac OS, но я считаю, что столкнулся с ошибкой пути к файлу? Хотя все выглядит правильно, поэтому я в замешательстве. Спасибо заранее за любую помощь. Я очень плохо знаком с маком.
Модуль Excel, который я использую, не может открыть книгу, которая у меня есть. Это опенпиксл.
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
save =tkFileDialog.asksaveasfilename(defaultextension = ".xlsx",initialfile=file_path)
main(file_path,save)
def main(load,save):
try:
wb = load_workbook(load)
except:
print load,save
return
Я ожидаю, что рабочая книга будет открыта, но вместо этого она печатает путь к файлу и заканчивает main().
Вот пути к файлам, которые он распечатывает:
/Users/edwin/Downloads/190117 CA Device Roster.xlsx /Users/edwin/Downloads/:Users:edwin:Downloads:test.xlsx






except:
. Почему вы явно перехватываете все исключения, а затем не предоставляете их пользователю? Игнорирование исключений не устраняет проблему — оно просто мешает вам ее видеть. Это означает, что ваш код не работает, и вы не знаете, почему.
Если вам нужна дополнительная отладка в вашем except, это нормально, просто после этого вызовите исходное исключение:
except Exception as e:
print(load,save)
raise e
Все, кроме раскрытия полученного вами исключения, скроет ваши ошибки, не оставив вам выбора, кроме предполагать, что происходит не так. Хорошие инженеры не гадают — увеличивают логирование.
ааа, спасибо, логично. Я самоучка <1 года, так что многому еще предстоит научиться, хотя я уже видел этот синтаксис раньше. Я не понимал, что это не напечатает ошибку. Кажется, произошла ошибка импорта: «вы должны установить PIL для извлечения объектов изображения», которую я смог прокачать и запустить свой код :) еще раз спасибо