Форум сайта python.su
88
py.user.nextПотому что ТС сидит на винде, ну и потому что он переносимый (и на винду тоже).
А с чего вдруг я должен переносимый код подстраивать под винду?
elif isinstance(obj, UUID):
IF LINUX:
variant.u.IDVal[0] = obj.bytes[0]
variant.u.IDVal[1] = obj.bytes[1]
variant.u.IDVal[2] = obj.bytes[2]
variant.u.IDVal[3] = obj.bytes[3]
variant.u.IDVal[4] = obj.bytes[4]
variant.u.IDVal[5] = obj.bytes[5]
variant.u.IDVal[6] = obj.bytes[6]
variant.u.IDVal[7] = obj.bytes[7]
variant.u.IDVal[8] = obj.bytes[8]
variant.u.IDVal[9] = obj.bytes[9]
variant.u.IDVal[10] = obj.bytes[10]
variant.u.IDVal[11] = obj.bytes[11]
variant.u.IDVal[12] = obj.bytes[12]
variant.u.IDVal[13] = obj.bytes[13]
variant.u.IDVal[14] = obj.bytes[14]
variant.u.IDVal[15] = obj.bytes[15]
ELSE:
variant.u.IDVal.Data1 = obj.time_low
variant.u.IDVal.Data2 = obj.time_mid
variant.u.IDVal.Data3 = obj.time_hi_version
variant.u.IDVal.Data4[0] = obj.clock_seq_hi_variant
variant.u.IDVal.Data4[1] = obj.clock_seq_low
variant.u.IDVal.Data4[2] = (obj.node >> (5*8)) & 0xff
variant.u.IDVal.Data4[3] = (obj.node >> (4*8)) & 0xff
variant.u.IDVal.Data4[4] = (obj.node >> (3*8)) & 0xff
variant.u.IDVal.Data4[5] = (obj.node >> (2*8)) & 0xff
variant.u.IDVal.Data4[6] = (obj.node >> (1*8)) & 0xff
variant.u.IDVal.Data4[7] = obj.node & 0xff
variant.vt = VTYPE_CLSID
Отредактировано Shaman (Авг. 21, 2015 01:09:32)
Офлайн
857
ShamanТо есть в лине file.doc и file.DOC будут считаться двумя одинаковыми файлами? Это с какого такого перепугу, а если там разный текст?
ну и потому что он переносимый
Офлайн
88
py.user.nextКак будет угодно…
То есть в лине file.doc и file.DOC будут считаться двумя одинаковыми файлами? Это с какого такого перепугу, а если там разный текст?
Офлайн
0
doza_and
Думаю будет как-то так:
directory = os.getcwd() files = os.listdir(directory) print (files) for i in files: word = win32com.client.gencache.EnsureDispatch("Word.Application") word.Visible = 0 #time.sleep(1) word.Documents.Open(os.path.abspath(out_file)) doc = word.Documents(word.ActiveDocument()) with open(os.path.abspath(out_file)+".txt","w",encoding="utf-8") as f: f.write(doc.Content.Text)
Офлайн
253
Kir@
Как ему задать, что итоговый текстовый файл должен называться так же, как и оригинал?
txt=doc.Content.Text word.Close()# не помню точно как, но Word не даст писать в файл если word не закрыть. with open(os.path.abspath(out_file),"w",encoding="utf-8") as f: f.write(txt)
Kir@Конечно. Это фрагмент из большого пакета. Я предполагал что вы понимаете как это модифицировать, а не ждете готового решения.
Так не работает.
import time # это для задержки out_file = "out_file.docx" # те имя файла который надо читать. Вам все равно надо делать кусок который будет подставлять разные имена
Отредактировано doza_and (Авг. 25, 2015 00:04:55)
Офлайн
0
doza_and, а если doc и docx документы открывать с помощью open office writer? Решение упростится? Что-то надо доставлять?
И вся задача осложняется тем, что приходится работать на маздайной оси.
Офлайн
253
Дело не в ОСИ а в переусложненном формате данных.
Сам глубоко в python uno не копал. Дело в том, что результаты открытия файлов меня в большинстве случаев не устраивали. (как Libreoffce так и вордом).
Помоему есть 2 варианта. Выложить на сервер документ “папу”, и все документы в проекте получать его редактированием. И всем пользователям договориться какую версию ворда они используют (тоже должна точно совпадать, включая номер билда)
Хранить документы в другом формате Latex,restructured text,odt. Если надо doc генерировать из них некоторой утилитой.
Чем раньше вы переведете документы doc в другой формат, тем проще потом будет жизнь.
Отредактировано doza_and (Авг. 25, 2015 17:03:56)
Офлайн
0
Я придумал третий вариант: т.к. имеется опыт работы с c#, то первый модуль на py копирует нужные документы, второй модуль (c#) сохраняет все полученные doc и docx в txt, третий модуль (py), используя regex, заканчивает задачу.
И все это запускается батником.
Да, месье знает толк в извращениях.
Офлайн
253
Kir@Почему нет. Не думаю что это извращение. Приведите код на C# думаю на питоне он будет меньше по величине.
второй модуль (c#)
Офлайн
0
doza_andНаписал. Концепция бытия изменилась, ну и язык программирования вместе с ней
И осталось непонятно почему вы все не написали на C#.

Офлайн