Найти - Пользователи
Полная версия: Подключение Sh4Ole.Sh4App от другого сервера
Начало » Python для новичков » Подключение Sh4Ole.Sh4App от другого сервера
1 2
Fantom.py
Не могу подключить Sh4Ole.Sh4App. Ищет этот файл на локальной машине. Как указать ему путь к серверу, и что бы сразу запускал эту библиотеку. PS Подключение к серверу есть, подключался через сокеты. Но ищет всё равно на локальной машине. Помогите пожалуйста
ZerG
Ну так код покажите как подключаете?
Fantom.py
ZerG
Ну так код покажите как подключаете?
conn = socket.socket()
conn.connect(('ip',port))
data = conn.recv(1024)
f= open ('Sh4Ole.Sh4App','r+')

я просто недавно начал разбираться в python'e. не всё знаю
PEHDOM
Fantom.py
Не могу подключить Sh4Ole.Sh4App. Ищет этот файл на локальной машине.
Fantom.py
f= open ('Sh4Ole.Sh4App','r+')
а что по вашему делает команда open? Ага открывает файл на диске. Для чтения/записи данных в/из него. А вовсе не для использвания неких встроеных методов.
Я так понимаю, судя по названию Sh4Ole у вас есть OLE либа, с помощью которой вы хотите чтото там делать, так пайтон с ОЛЕ объектами работает не так. Для этого вам нужен пакет win32com. Вот простой пример с екселем, (увы никода не работал с Sh4Ole но думаю алгоритм вам должен быть понятен, делаете по аналогии, только вызываете методы вашей либы)
 from win32com.client import Dispatch
excel = Dispatch('Excel.Application')
excel.Visible = 1
excel.Workbooks.Add()
excel.ActiveSheet.Cells(1,1).Value = 'test 1'
excel.ActiveWorkbook.ActiveSheet.Cells(1,2).Value = 'test 2'
И да не забывайте что ваш Sh4Ole.dll должна быть зарестрирована в системе как OLE сервер.
Fantom.py
PEHDOM
from win32com.client import Dispatch
ModuleNotFoundError: No module named ‘win32com’
Такая вот ошибка. А при инсталле модуля, пишет что такого нет.
P.S у меня pyton 3.7
PEHDOM
Fantom.py
ModuleNotFoundError: No module named ‘win32com’
win32com часть pywin32(модуль для работы с winapi), ее устанавливайте.
 pip install pywin32
Fantom.py
PEHDOM
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)
Возникла такая проблема при запуске файла .py
что делать с этим?
PEHDOM
Fantom.py
что делать с этим?
ну дык покажите что вы там пишете, на что оно ругается, скорее всего в неправильно имя оле обьекта вводите.
Fantom.py
PEHDOM
Traceback (most recent call last):
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py”, line 89, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\Fantom\Desktop\StoreHouse14.py”, line 37, in <module>
Sh4Ole = Dispatch('Sh4Ole.Sh4App')
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\__init__.py”, line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py”, line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py”, line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)
PEHDOM
Fantom.py
Traceback (most recent call last):
трейсбек и так понятен, ваш код покажите, где вы вызываете Sh4Ole
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB