Откройте текстовый документ с помощью python, используя окна

Я пытаюсь открыть документ Word с помощью Python в Windows, но я не знаком с Windows.

Мой код выглядит следующим образом.

import docx as dc
doc = dc.Document(r'C:\Users\justin.white\Desktop\01100-Allergan-UD1314-SUMMARY OF WORK.docx')

Из другого поста я узнал, что мне нужно поставить r перед моей строкой, чтобы преобразовать ее в необработанную строку, иначе она интерпретирует \U как управляющую последовательность.

Ошибка, которую я получаю,

PackageNotFoundError: Package not found at 'C:\Users\justin.white\Desktop\01100-Allergan-UD1314-SUMMARY OF WORK.docx'

Я не знаю, почему он не может найти мой документ 01100-Allergan-UD1314-SUMMARY OF WORK.docx. Путь правильный, так как я скопировал его прямо из файловой системы.

Любая помощь приветствуется, спасибо.


person Jstuff    schedule 26.05.2016    source источник
comment
Я не использую окна, поэтому я не вижу ничего плохого в вашем пути. Но обратная косая черта и пробелы в именах файлов могут быть сложными. Вы можете попробовать import os; os.path.exists(r'C:\path\to\file'), чтобы убедиться, что python может найти файл.   -  person Håken Lid    schedule 26.05.2016


Ответы (2)


попробуй это

import StringIO
from docx import Document


file = r'H:\myfolder\wordfile.docx'

with open(file) as f:
    source_stream = StringIO(f.read())
document = Document(source_stream)
source_stream.close()

http://python-docx.readthedocs.io/en/latest/user/documents.html

Кроме того, что касается отладки ошибки «файл не найден», упростите имена каталогов и имена файлов. Переименуйте файл в «файл» вместо ссылки на длинный путь с пробелами и т. д.

person PyNoob    schedule 26.05.2016
comment
@Jstuff вам нужно импортировать его - person PyNoob; 26.05.2016

Если вы хотите открыть документ в Microsoft Word, попробуйте использовать os.startfile().

В вашем примере это будет:

os.startfile(r'C:\Users\justin.white\Desktop\01100-Allergan-UD1314-SUMMARY OF WORK.docx')

Это откроет документ в Word на вашем компьютере.

person Zishe Schnitzler    schedule 01.06.2020