Recipe 10.14. Creating a Share on WindowsCredit: John Nielsen ProblemYou want to share a folder of your Windows PC on a LAN. SolutionPyWin32's win32net module makes this task very easy: import win32net import win32netcon shinfo={ } shinfo['netname'] = 'python test' shinfo['type'] = win32netcon.STYPE_DISKTREE shinfo['remark'] = 'data files' shinfo['permissions'] = 0 shinfo['max_uses'] = -1 shinfo['current_uses'] = 0 shinfo['path'] = 'c:\\my_data' shinfo['passwd'] = '' server = 'servername' win32net.NetShareAdd(server, 2, shinfo) DiscussionWhile the task of sharing a folder is indeed fairly easy to accomplish, finding the information on how you do so isn't. All I could find in the win32net documentation was that you needed to pass a dictionary holding the share's data "in the format of SHARE_INFO_*." I finally managed to integrate this tidbit with the details from the Windows SDK (http://msdn.microsoft.com) and produce the information in this recipe. One detail that took me some effort to discover is that the constants you need to use as the value for the 'type' enTRy are "hidden away" in the win32netcon module. See AlsoPyWin32 docs at http://sourceforge.net/projects/pywin32/; Microsoft's MSDN site, http://msdn.microsoft.com. |