У меня уже давно есть эта проблема, и я не могу понять, как мне начать делать это с python. Моя ОС Windows XP Pro. Мне нужен скрипт, который перемещает весь (100% текста) текст из одного файла .doc в другой. Но это не так просто, как кажется. Целевой файл .doc не единственный, но их может быть много. Все целевые файлы .doc всегда находятся в одной папке (один и тот же путь), но все они не имеют одинакового имени. Файл .doc ОТ, куда я хочу переместить весь текст, только один, всегда в одной папке (с одним и тем же путем) и всегда с тем же именем файла.
Названия цели похожи, но, как я уже говорил, не совпадают. Вот смысл всего сценария:
Целевые файлы .doc имеют имена:
HD1.doc HD2.doc HD3.doc HD4.doc
и т. Д.
То, что я хотел бы получить - это переместить весь (но на самом деле весь текст, должен быть на 100% весь) текст в файл .doc с наибольшим (!) Номером. Целевые файлы .doc всегда начинаются с '' HD '' и всегда будут похожи на приведенные выше примеры.
Возможно, что файл doc (целевой файл) только один, поэтому только HD1.doc. Поэтому «1» - это максимальное число, и текст перемещается в этот файл.
Иногда целевой файл пуст, но обычно его не будет. Если этого не произойдет, тогда текст должен быть перемещен в конец текста, в первую новую строку (между ними не должно быть пустых строк).
Так, например, в целевом файле с максимальным номером в названии есть следующий текст:
а
б
с
В файле, из которого я хочу переместить текст, есть:
д
Это означает, что мне нужно в целевом файле это:
а
б
с
* 1 028 * д
Но нигде нет пустых строк.
Я нашел (показывая три разных кода):
http://paste.pocoo.org/show/169309/
Но ни один из них не имеет для меня никакого смысла. Я знаю, что мне нужно начать с поиска правильного целевого файла (правильный файл HDX, где X - наибольшее число - снова все файлы HD находятся и будут в одной папке), но не знаю, как это сделать.
Я имел в виду файлы Microsoft Office Word. DOC. У них есть «чистый текст». Под чистым текстом я имею в виду, что я также могу видеть их в блокноте (.txt). Но мне нужно работать с расширениями .doc. Python - потому что я нуждаюсь в этом как в автоматизированной системе, поэтому мне даже не нужно открывать какой-либо файл. Почему именно Python, а не какой-либо другой язык программирования? Причина этого заключается в том, что недавно я начал изучать python и мне нужен этот скрипт для моей работы - Python является «единственным» языком программирования, который мне интересен, и поэтому я хотел бы сделать этот скрипт с ним. Под «действительно 100%» я имел в виду, что весь текст (все в исходном файле - каждая строка, независимо от того, есть ли 2 или несколько тысяч) будет перемещен в правильный (целевой файл описан в моем первом посте) целевой файл , Я не могу переместить весь файл, потому что мне нужно переместить весь текст (все собрано - исходный файл будет всегда одинаковым, но состязание текста всегда будет отличаться - разные слова в строках), а не весь файл, потому что мне нужен правильный текст. файл документа с правильным именем и вместе (под словом «вместе» я имею в виду внутри одного и того же файла) с уже существующим текстом, если в целевом файле уже есть что-нибудь. Поскольку возможно, что правильный целевой файл также пуст.
Если бы кто-нибудь мог предложить мне что-нибудь, я был бы очень признателен.
Спасибо, наилучшие пожелания.
Я пытался спросить на форуме openoffice, но они не отвечают. Видимый код может быть примерно таким:
from time import sleep
import win32com.client
from win32com.client import Dispatch
wordApp = win32com.client.Dispatch('Word.Application')
wordApp.Visible=False
wordApp.Documents.Open('C:\\test.doc')
sleep(5)
HD1 = wordApp.Documents.Open('C:\\test.doc') #HD1 word document as object.
HD1.Content.Select.Copy() #Selects entire document and copies it. `
Но я понятия не имею, что это значит. Также я не могу использовать файл .doc таким образом, потому что я никогда не знаю, какое правильное имя файла (HDX.doc, где X - максимальное целое число, все HD находятся в одном и том же пути к каталогу) файла, и поэтому я не могу использовать его имя - скрипт должен найти правильный файл. Также '' filename '' = wordApp.Documents.open ... наверняка даст мне синтаксическую ошибку. : - (