2017-08-13 98 views
1

我需要你幫助nmap腳本並將輸出打印到csv文件。 當我運行該腳本,並與print(nm.csv())完成它,我得到了下面的結果顯示這是我想要第一名:nmap和打印(nm.csv())幫助需要打印到csv.file

host;hostname;hostname_type;protocol;port;name;state;product;extrainfo;reason;version;conf;cpe 
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;21;ftp;open;;;syn-ack;;3; 
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;22;ssh;open;;;syn-ack;;3; 
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;53;domain;open;;;syn-ack;;3; 
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;80;http;open;;;syn-ack;;3; 

但我的問題是如何得到這個重定向或在同創建一個CSV文件我從哪裏運行腳本或者路徑中的目錄。 在此先感謝!

回答

1

你可以聲明函數像這樣的

def save_csv_data(nm_csv, path='.'): 
    with open(path + '/output.csv', 'w') as output: 
     output.write(nm_csv) 

然後通過傳遞一個參數,您可以指定其他[R路徑保存文件,或以其它方式使用相同的目錄腳本:

if (len(sys.argv) > 1 and sys.argv[1]): 
    save_csv_data(nm.csv(), path=sys.argv[1]) 
else: 
    save_csv_data(nm.csv()) 

編輯:還記得import sys

我也建議你,如果你決定使用參數,使用像argparse這樣的模塊。

+0

謝謝Martin! –

+0

@IvanMadolev是否有效? –

+0

我懂了! :)非常感謝你馬丁! –

1
print (nm.csv(),file=open('a.csv','w')) 

編輯

可以使用print_function從python3得到python2打印()行爲:

from __future__ import print_function 
+0

謝謝智能! –

+0

嘿智能,我得到語法錯誤:文件「test2.py」,第22行 print(nm.csv(),file = open('a.csv','w')) ^ SyntaxError:無效語法 –