添加了文本代码,很抱歉给您带来不便,我只是想在我的帖子中包含终端输出。
edit2:删除了所有图像,这是我最新的代码+文本格式的输入/输出,我在输入文件中发现了错误,但我无法用代码修复它,当我手动编辑文件时,文件末尾有一个完全空的行,返回空格以删除它。代码工作正常,无论如何,有没有办法解决这个问题,我的csv文件是由airodump自动生成的,我不知道我是否可以控制它们的格式。
#!/usr/bin/env python
import time
import csv
#def nonblank_lines(f):
# for l in f:
# line = l.rstrip()
# if line:
# yield line
with open('root-01.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
with open('station_value.csv', 'w') as station_file:
csv_writer = csv.writer(station_file, delimiter = ',')
for skip in range(4):
next(csv_reader)
for line in csv_reader:
csv_writer.writerow(line)
with open('station_value.csv', 'r') as csv_file2:
# for line in nonblank_lines(csv_file2):
csv_reader2 = csv.reader(csv_file2)
with open('pwr_value.csv', 'w') as pwr_file:
csv_writer2 = csv.writer(pwr_file, delimiter = ',')
for line in csv_reader2:
try:
print(line)
csv_writer2.writerow([line[3]])
except Exception as details:
print('Invalid data:',line,'rejected due to',details)
这是我的文本格式输入文件:
根-01。csv
BSSID, First time seen, Last time seen, channel, Speed, Privacy, Cipher, Authentication, Power, # beacons, # IV, LAN IP, ID-length, ESSID, Key
1C:5F:2B:0A:02:58, 2017-12-02 04:01:06, 2017-12-02 04:02:34, 6, 54, WPA2, CCMP TKIP,PSK, -85, 654, 155, 0. 0. 0. 0, 6, Halbos,
Station MAC, First time seen, Last time seen, Power, # packets, BSSID, Probed ESSIDs
40:40:A7:67:90:0E, 2017-12-02 04:01:16, 2017-12-02 04:02:33, -1, 63, 1C:5F:2B:0A:02:58,
80:3F:5D:F9:1F:AB, 2017-12-02 04:01:22, 2017-12-02 04:02:09, 0, 557, 1C:5F:2B:0A:02:58,
station_值。csv
Station MAC, First time seen, Last time seen, Power, # packets, BSSID, Probed ESSIDs
40:40:A7:67:90:0E, 2017-12-02 04:01:16, 2017-12-02 04:02:33, -1, 63, 1C:5F:2B:0A:02:58,
80:3F:5D:F9:1F:AB, 2017-12-02 04:01:22, 2017-12-02 04:02:09, 0, 557, 1C:5F:2B:0A:02:58,
pwr_值。csv
Power
-1
0
获取station_值。csv工作正常,当我想从statio_值中获取第[3]行的值时,出现了问题(据我所知)。csv并将其写入新文件pwr_值。csv,因为在桩号文件的末尾有一个额外的行,其大小与前几行不同。我试图获取堆栈跟踪,但无法获取,因为调试工具在我打开堆栈跟踪时总是显示空白。
我也不明白为什么即使有错误,仍然生成pwr_值文件?