Мне нужно, чтобы мое веб-приложение изменило XML-файл в общей сети Windows. До сих пор я смог подключиться к общей сети через smb (pysmb), но затем изменил файл, используя Python и библиотеку xml.etree.ElementTree. Пока у меня есть следующий код:
try:
conn = SMBConnection(user, password, host_name, host, domain=domain_name, use_ntlm_v2=True)
conn.connect(ip_address, 139)
if conn:
shares = conn.listShares()
for share in shares:
if not share.isSpecial and share.name not in ['NETLOGON', 'SYSVOL']:
if str(share.name) == 'folder1':
sharedDirs = conn.listPath(share.name, 'folder2')
print('this is sharedDirs ', str(sharedDirs));
for s in sharedDirs:
print('this is a sharedDIR: ', s.filename)
if(str(s.filename) == 'file.xml'):
et = xml.etree.ElementTree.parse(str(s))
print(et)
else:
print "failed to connect server"
conn.close()
except Exception as e:
print("*** Caught exception: %s: %s" % (e.__class__, e))
traceback.print_exc()
return e
Я могу успешно подключиться к серверу, и s.filename соответствует имени файла XML, которое мне нужно изменить. Однако я получаю исключение «такой файл или каталог не существует». Я также попытался вставить прямой путь к файлу, такой как
xml.etree.ElementTree.parse("//network_name/folder1/folder2/file.xml")
и получить ту же ошибку.