Даже с 'r', добавленным к имени файла, openpyxl не может сохранить в Windows

В OS X openpyxl.save() отлично работает для файла с именем «all_done.xslx».

Однако, когда это делается в Windows, это приводит к:

 c:\Users\Tony\Desktop\ROI>python roi_cut6.py > log.txt Traceback (most recent call last): File "roi_cut6.py", line 373, in <module> main() File "roi_cut6.py", line 369, in main processSource(wb, 'Gemini', totalGeminiSpends, geminiRevenues) File "roi_cut6.py", line 269, in processSource wb.save(r'all_done.xlsx') File "C:\Python27\lib\site-packages\openpyxl\workbook\workbook.py", line 298, in save save_workbook(self, filename) File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 198, in sa ve_workbook writer.save(filename, as_template=as_template) File "C:\Python27\lib\site-packages\openpyxl\writer\excel.py", line 180, in sa ve archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True) File "C:\Python27\lib\zipfile.py", line 756, in __init__ self.fp = open(file, modeDict[mode]) IOError: [Errno 22] invalid mode ('wb') or filename: 'all_done.xlsx' 

Этот пост и этот пост предлагают добавить r перед именем файла. Это я уже пробовал (как видно из журнала выше). И файл находится в текущем каталоге, поэтому это не проблема с обратными косыми чертами или косой чертой. Файл открыт в Excel как для OS X, так и для Windows. Что еще может быть проблемой? К сожалению, у меня нет доступа к Windows mahcine, поэтому я не могу устранить неполадки непосредственно там.

Не имеет значения, был ли файл, который был сохранен, изначально создан непосредственно в Excel или, скорее, с помощью openpyxl ?

  • Добавьте каталог в sys.path Python, чтобы он включался каждый раз, когда я использую Python
  • Как создать веб-страницу с кнопками, которые вызывают различные скрипты Python в системе, обслуживающей веб-страницу?
  • Общие способы подключения к odbc из python на окнах?
  • Не удается открыть видеофайлы «.mp4» с использованием OpenCV 2.4.3, Python 2.7 на компьютере под управлением Windows 7
  • Ошибка ввода ключа ввода-вывода ввода-вывода
  • Python исполняемые файлы: py2exe или PyInstaller?
  • установить python и сделать в cygwin
  • Чтение в режиме реального времени из subprocess.stdout в Windows
  • One Solution collect form web for “Даже с 'r', добавленным к имени файла, openpyxl не может сохранить в Windows”

    Вероятно, это ошибка разрешений и ничего общего с openpyxl. Идея использования r совершенно неверна. Используйте os.path для компоновки пути, где у любого пользователя, выполняющего сценарий, есть разрешение на запись.

    Python - лучший язык программирования в мире.