Python入門教程的方法簡介
在計(jì)算機(jī)語言中Python入門教程中被廣泛的應(yīng)用,以下的文章就是介紹如何使用Python入門教程,如果我們需要這一實(shí)際應(yīng)用技巧,就瀏覽以下的文章簡,希望本文章的相關(guān)介紹會(huì)對(duì)你有所收獲。
的是單測試局域網(wǎng)中的電腦是否連通.這些電腦的ip范圍從192.168.0.101到192.168.0.200.
思路:用shell編程.(Linux通常是bash而Windows是批處理腳本).
例如,在Windows上用ping ip 的命令依次測試各個(gè)機(jī)器并得到控制臺(tái)輸出.由于ping通的時(shí)候控制臺(tái)文本通常是"Reply from ... " 而不通的時(shí)候文本是"time out ... " ,所以,在結(jié)果中進(jìn)行字符串查找,即可知道該機(jī)器是否連通.
實(shí)現(xiàn):Java代碼如下:
- String cmd="cmd.exe ping ";
- String ipprefix="192.168.10.";
- int begin=101;
- int end=200;
- Process p=null;
- for(int i=begin;i<end;i++){
- p= Runtime.getRuntime().exec(cmd+i);
- String line = null;
- BufferedReader reader = new BufferedReader(new
InputStreamReader(p.getInputStream()));- while((line = reader.readLine()) != null)
- {
- //Handling line , may logs it.
- }
- reader.close();
- p.destroy();
- }
- import subprocess
- cmd="cmd.exe"
- begin=101
- end=200
- while begin<end:
- p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,
- stdin=subprocess.PIPE,
- stderr=subprocess.PIPE)
- p.stdin.write("ping 192.168.1."+str(begin)+"\n")
- p.stdin.close()
- p.wait()
- print "execution result: %s"%p.stdout.read()
這段代碼運(yùn)行得很好,問題是為了運(yùn)行這段代碼,你還需要做一些額外的工作.這些額外的工作包括:編寫一個(gè)類文件 編寫一個(gè)main方法 將之編譯成字節(jié)代碼
由于字節(jié)代碼不能直接運(yùn)行,你需要再寫個(gè)小小的bat或者bash腳本來運(yùn)行.
當(dāng)然,用C/C++同樣能完成這項(xiàng)工作.但C/C++不是跨平臺(tái)語言.在這個(gè)足夠簡單的例子中也許看不出C/C++和Java實(shí)現(xiàn)的區(qū)別,但在一些更為復(fù)雜的場景,比如要將連通與否的信息記錄到網(wǎng)絡(luò)數(shù)據(jù)庫.由于Linux和Windows的網(wǎng)絡(luò)接口實(shí)現(xiàn)方式不同,你不得不寫兩個(gè)函數(shù)的版本.用Java就沒有這樣的顧慮.
同樣的工作用Python實(shí)現(xiàn)如下:
對(duì)比Java,Python的實(shí)現(xiàn)更為簡潔,你編寫的時(shí)間更快.你不需要寫main函數(shù),并且這個(gè)程序保存之后可以直接運(yùn)行.另外,和Java一樣,Python也是跨平臺(tái)的.
有經(jīng)驗(yàn)的C/Java程序員可能會(huì)爭論說用C/Java寫會(huì)比Python寫得快.這個(gè)觀點(diǎn)見仁見智.我的想法是當(dāng)你同時(shí)掌握J(rèn)ava和Python之后,你會(huì)發(fā)現(xiàn)用Python寫這類程序的速度會(huì)比Java快上許多.例如操作本地文件時(shí)你僅需要一行代碼而不需要Java的許多流包裝類.各種語言有其天然的適合的應(yīng)用范圍.用Python處理一些簡短程序類似與操作系統(tǒng)的交互編程工作最省時(shí)省力.
【編輯推薦】
- Python教程的簡單開發(fā)
- Python邏輯操作中的三大應(yīng)用方案
- Python字符串在實(shí)際中的操作手冊
- Python環(huán)境在進(jìn)行初始化后的效果
- Python微線程如何在Stackless環(huán)節(jié)中使用