国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python入門(mén)教程 超詳細(xì)1小時(shí)學(xué)會(huì)Python

2020-02-23 04:38:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
為什么使用Python
    假設(shè)我們有這么一項(xiàng)任務(wù):簡(jiǎn)單測(cè)試局域網(wǎng)中的電腦是否連通.這些電腦的ip范圍從192.168.0.101到192.168.0.200.  

    思路:用shell編程.(Linux通常是bash而Windows是批處理腳本).例如,在Windows上用ping ip 的命令依次測(cè)試各個(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();
}

    這段代碼運(yùn)行得很好,問(wèn)題是為了運(yùn)行這段代碼,你還需要做一些額外的工作.這些額外的工作包括:
編寫(xiě)一個(gè)類文件 編寫(xiě)一個(gè)main方法 將之編譯成字節(jié)代碼 由于字節(jié)代碼不能直接運(yùn)行,你需要再寫(xiě)個(gè)小小的bat或者bash腳本來(lái)運(yùn)行.    當(dāng)然,用C/C++同樣能完成這項(xiàng)工作.但C/C++不是跨平臺(tái)語(yǔ)言.在這個(gè)足夠簡(jiǎn)單的例子中也許看不出C/C++和Java實(shí)現(xiàn)的區(qū)別,但在一些更為復(fù)雜的場(chǎng)景,比如要將連通與否的信息記錄到網(wǎng)絡(luò)數(shù)據(jù)庫(kù).由于Linux和Windows的網(wǎng)絡(luò)接口實(shí)現(xiàn)方式不同,你不得不寫(xiě)兩個(gè)函數(shù)的版本.用Java就沒(méi)有這樣的顧慮.

    同樣的工作用Python實(shí)現(xiàn)如下:


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()
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹阳市| 青阳县| 壤塘县| 安图县| 章丘市| 深水埗区| 东兰县| 英超| 罗江县| 泽普县| 常宁市| 元阳县| 临颍县| 桑植县| 伽师县| 济源市| 万州区| 合川市| 时尚| 越西县| 腾冲县| 九台市| 普陀区| 萨嘎县| 日喀则市| 宁津县| 双鸭山市| 大悟县| 依安县| 五指山市| 长沙市| 文水县| 杭州市| 怀宁县| 卢龙县| 涟源市| 侯马市| 通河县| 蒙城县| 应城市| 龙江县|