Python – 如何使用用户名和密码打开Windows共享

我想从Python脚本访问Windows共享(例如\ backupserver \ backups)。 共享受用户名和密码保护。 如何使用用户名和密码打开这个共享,例如列出它的内容?

你为什么不用相关的分享挂载

NET USE 

命令?

通过子进程模块调用NET USE非常简单。

使用pywin32 (Python for Windows Extensions),访问win32wnet模块中的windows联网方法。 win32wnet.WNetAddConnection2()方法允许您指定用户名和密码。

 WNetAddConnection2(NetResource, Password, UserName, Flags) 

创建到网络资源的连接。 该功能可以将本地设备重定向到网络资源。

连接处于活动状态后,使用常规目录和文件方法访问共享。

“NET USE”的完整示例:

 backup_storage_available = os.path.isdir(BACKUP_REPOSITORY_PATH) if backup_storage_available: logger.info("Backup storage already connected.") else: logger.info("Connecting to backup storage.") mount_command = "net use /user:" + BACKUP_REPOSITORY_USER_NAME + " " + BACKUP_REPOSITORY_PATH + " " + BACKUP_REPOSITORY_USER_PASSWORD os.system(mount_command) backup_storage_available = os.path.isdir(BACKUP_REPOSITORY_PATH) if backup_storage_available: logger.fine("Connection success.") else: raise Exception("Failed to find storage directory.") 

包装“网络使用”命令的一个不错的库:

http://covenanteyes.github.io/py_win_unc/