मेरे नीचे कार्यक्रम में से अलग दिखाता है, उत्पादन test1.txt दायर करने के लिए निर्देशित कर दिये है, लेकिन जब मैं फ़ाइल को खोलने, मैं यहाँ तीन समस्या है:स्टैंडर्ड आउटपुट फ़ाइल पर पुनः निर्देशित वास्तविक
- मैं आदेश देखें एलएस की तरह, pwd प्रॉम्प्ट के नीचे हैं (sw0: FID128: root>)।
- प्रॉम्प्ट को "sw0: FID128: root>" दिखाने की उम्मीद है, लेकिन यह "sw0: FID128: root"
- दिखाता है यदि वास्तविक आउटपुट में 2 टैब हैं, तो फ़ाइल केवल 1 टैब दिखाती है।
मैं मूल रूप से इसे किसी अन्य फ़ाइल से तुलना करना चाहता हूं, इसलिए टैब की संख्या अलग होने पर यह असफल हो जाएगी।
telconn=pexpect.spawn('telnet 10.24.12.109')
telconn.logfile = sys.stdout
telconn.expect(":")
telconn.send("user" + "\r")
telconn.expect(":")
telconn.send("pass" + "\r\r\r\r\n\n\n")
telconn.expect("key to proceed.")
telconn.send ("\003")
telconn.expect("root>")
prev_std= sys.stdout
sys.stdout=open("test1.txt","w")
print "Telnet connection is done"
telconn.sendline('\n');
telconn.expect (['>',pexpect.EOF])
ls = telconn.before
telconn.sendline('ls -al');
telconn.expect (['>',pexpect.EOF])
ls = telconn.before
telconn.sendline('pwd');
telconn.expect (['>',pexpect.EOF])
pwd = telconn.before
telconn.sendline('noscli');
telconn.expect (['#',pexpect.EOF])
nos = telconn.before
telconn.sendline('terminal length 0');
telconn.expect (['#',pexpect.EOF])
term = telconn.before
telconn.sendline('\n\n');
telconn .sendline('exit');
telconn.close()
print ls
print pwd
print nos
print term
#print "Ended session"
sys.stdout.close()
sys.stdout =prev_std
fo = open("test1.txt", "r+")
str = fo.read();
print "Read String is : ", str
# Close opend file
fo.close()
नमूना उत्पादन इस
Telnet connection is done
^M
sw0:FID128:root
ls -al^M
total 32^M
pwddrwx------ 3 root root 4096 Feb 2 11:07 ./^M
^M
drwxr-xr-x 28 root root 4096 Feb 3 05:58 ../^M
-rw-r--r-- 1 root sys 507 Feb 1 06:47 .bash_logout^M
-rw-r--r-- 1 root sys 27 Feb 1 06:47 .inputrc^M
-rw-r--r-- 1 root sys 1220 Feb 1 06:47 .profile^M
-rw-r--r-- 1 root sys 2551 Feb 1 06:47 .rhosts^M
drwxr-xr-x 2 root sys 4096 Feb 1 09:51 .ssh/^M
-rw-r--r-- 1 root sys 617 Feb 1 06:47 .toprc^M
-rw-r--r-- 1 root root 0 Feb 3 06:01 mcast_trc^M
-rw-r--r-- 1 root root 0 Feb 3 06:01 sysdiag_trc^M
sw0:FID128:root
pwd^M
/root^M
मेरे पहले बिंदु के लिए, उदाहरण के लिए ls -al प्रेषण से आउटपुट और आउटपुट कुल 7736 drwx ------ 3 रूट रूट 4096 फरवरी 5 05:19 ./ drwxr-xr-x 28 रूट रूट 4096 5 फरवरी 05:30 ../ -rw-r - r-- 1 रूट sys 507 फरवरी 1 06:47 .bash_logout -rw-r-r-- 1 रूट sys 27 फ़रवरी 1 06:47 .inputrc -rw-r - r-- 1 रूट sys 1220 फरवरी 1 06:47 .profile -rw-r-r-- 1 रूट sys 2551 फ़रवरी 1 06:47 .rhosts drwxr-xr-x 2 रूट sys 4096 अप्रैल 22 2015। एसएसएच/ -आरडब्ल्यू-आर - आर-- 1 रूट sys 617 फरवरी 1 06:47 .toprc – Suma
@ सुमा मैं पहले से ही देख सकता हूं। एकमात्र 'एलएफ' संकेत के बाद है। इसलिए विस्तार से जांचें कि इस बिंदु पर क्या होता है - यह 'एलएफ' कहां से आ रहा है। –