पायथन में किसी फ़ाइल को स्कैन करने का सबसे पाइथोनिक तरीका क्या है? मुझे पता है कि एकमात्र मार्ग है
os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile) )
जो एक हैक है, और जो लिनक्स जैसी प्रणालियों के बाहर काम नहीं करता है, और जिसे पासवर्ड प्रॉम्प्ट से बचने के लिए Pexpect मॉड्यूल से मदद की ज़रूरत है जब तक कि आपके पास पहले से ही दूरस्थ होस्ट के लिए पासवर्ड रहित SSH न हो।
मुझे ट्विस्टेड के बारे में पता है conch, लेकिन मैं खुद को निम्न-स्तरीय ssh मॉड्यूल के माध्यम से scp को लागू करने से बचना पसंद करूंगा।
मैं paramikoएक पायथन मॉड्यूल से अवगत हूँ , जो SSH और SFTP का समर्थन करता है; लेकिन यह एससीपी का समर्थन नहीं करता है।
पृष्ठभूमि: मैं एक ऐसे रूटर से कनेक्ट कर रहा हूं जो SFTP का समर्थन नहीं करता है, लेकिन SSH / SCP का समर्थन करता है, इसलिए SFTP एक विकल्प नहीं है।
EDIT : यह SCP या SSH का उपयोग करके पायथन में किसी दूरस्थ सर्वर पर फ़ाइल की प्रतिलिपि बनाने का तरीका है? । हालाँकि , यह प्रश्न एक विशिष्ट विवरण नहीं देता है जो कि पायथन के भीतर की चाबियों से संबंधित है। मैं तरह तरह के कोड चलाने के लिए उम्मीद कर रहा हूँ
import scp
client = scp.Client(host=host, user=user, keyfile=keyfile)
# or
client = scp.Client(host=host, user=user)
client.use_system_keys()
# or
client = scp.Client(host=host, user=user, password=password)
# and then
client.transfer('/etc/local/filename', '/etc/remote/filename')
scpवास्तव मेंscpकमांड लाइन को कॉल करता है जो केवल * nix पर काम करता है।