Откройте файлы *.doc в LibreOffice и Microsoft Word, используя python 3.6
Привет, сообщество!
У меня довольно сложный вопрос (по крайней мере, я так думаю), мой клиент использует документы Microsoft Word (я не называю эти файлы, многие из них имеют глупые имена, например, "..ć ..doc"), возможно ли открыть эти документы например, под Eclipse env, используя Python 3.6 под Ubuntu?
В течение многих лет я использовал операционную систему Windows 7, но мне нужны некоторые изменения, поэтому я установил Ubuntu 16.04 LTS, я загрузил среду (Eclipse oxygen 4.7.0), pydev и т. д. Но я забыл, что мой основной документ сохраняется как * файл.doc
Есть ли какой-нибудь возможный способ открыть эти файлы? Что вы предлагаете? Я думал о каком-то "косвенном" файле *.xml, но какую библиотеку я должен использовать, чтобы открывать файлы *.doc в программном обеспечении LibreOffice? (Я не хочу использовать "хак" для установки Microsoft Word под Ubuntu), а что после получения данных из файла? какой тип lib используется для сохранения данных в файл *.doc под Ubuntu? (Потому что мой клиент открыл его с помощью Microsoft Office)
Схема проста
- Откройте *doc файлы с помощью Python 3.6 под Ubuntu,
- манипулировать этими файлами,
- сохранить как *.doc файлы под Ubuntu.
Может быть, использовать какой-либо COM-объект для открытия файлов в разных операционных системах? Может ли кто-нибудь поделиться какой-нибудь "документацией" COM-объекта, используемого в Python 3.6 под Ubuntu? (извините, если я ошибаюсь, я только слышал, что могу использовать COM-объект, я не использовал его раньше)
Спасибо за все повторы, Привет сообщество! Eldiane
1 ответ
Я использую подпроцесс для вызова LibreOffice, который затем открывает файл (.doc
или .xlsx
).
Например,
import subprocess
subprocess.call((libreoffice, complete_file_path))
Обратите внимание на две пары скобок, необходимые для subprocess.call
Затем файл откроется в LibreOffice.
Используйте python docx, и вы можете манипулировать офисными документами, не используя com, и он использует xml внутри, поэтому его кроссплатформенность
для дополнительной информации