2011-04-08 8 views
5

मैं पाइथन लिपि से विंडोज शेयर (उदा। \ बैकअप सर्वर \ बैकअप) तक पहुंचना चाहता हूं। शेयर उपयोगकर्ता नाम और पासवर्ड से सुरक्षित है। उपयोगकर्ता नाम और पासवर्ड का उपयोग करके इस शेयर को कैसे खोलें और, उदाहरण के लिए इसकी सामग्री सूचीबद्ध करें?पायथन - उपयोगकर्ता नाम और पासवर्ड का उपयोग कर विंडोज शेयर कैसे खोलें

उत्तर

1

तुम क्यों

NET USE 

आदेश का उपयोग संबंधित शेयर माउंट नहीं करते हैं?

उपप्रोसेसर मॉड्यूल के माध्यम से NET USE को कॉल करना सीधे आगे है।

+0

आप सही कर रहे हैं! वास्तव में आसान समाधान और ठीक काम करता है। – Rafal

6

pywin32 (विंडोज एक्सटेंशन के लिए पायथन) का उपयोग करके, win32wnet मॉड्यूल में विंडोज नेटवर्किंग विधियों तक पहुंचें। win32wnet.WNetAddConnection2() विधि आपको उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने देता है।

WNetAddConnection2(NetResource, Password, UserName, Flags) 

एक नेटवर्क संसाधन से कनेक्शन बनाता है। फ़ंक्शन किसी स्थानीय डिवाइस को नेटवर्क संसाधन पर रीडायरेक्ट कर सकता है।

कनेक्शन सक्रिय होने के बाद, नियमित निर्देशिका और फ़ाइल विधियों का उपयोग करके शेयर तक पहुंचें।

+1

नेट रिसोर्स परिभाषा का एक उदाहरण: 'नेट रिसोर्स = win32wnet.NETRESOURCE() '' NetResource.lpRemoteName = r' \\ 10.0.0.1 \ share'' –

6

"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.") 
संबंधित मुद्दे

 संबंधित मुद्दे