Come modificare il file XML su SMB?

voti
0

Ho bisogno di modificare un file XML su una rete condivisa (Linux a Windows). Il mio piano è quello di collegare alla rete condivisa tramite SMB (pysmb), quindi modificare il file utilizzando xml.etree.ElementTree. Finora ho il seguente codice:

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

Sono in grado di connettersi al server e s.filename corrisponde al nome del file xml ho bisogno di modificare. Tuttavia, ho un No such file or directory esisto eccezione. Ho anche provato a mettere in filepath diretta come

xml.etree.ElementTree.parse(//network_name/folder1/folder2/file.xml) 

e ottenere lo stesso errore

Sto andando su questo nel modo giusto? Sarebbe meglio per recuperare il file, modificarlo, poi sostituirlo?

È pubblicato 10/10/2019 alle 00:44
fonte dall'utente
In altre lingue...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more