【发布时间】:2021-10-26 21:42:46
【问题描述】:
我有一个执行大量数据操作的脚本,但它受到了这个函数的限制。
Tenable 生成器数组ips 的长度始终在 1000 左右,无论取舍。 ips[row]的长度为5。
我可以在此处进行任何改进以提高效率吗?我觉得这需要的时间比它应该的要长得多。
def get_ten(sc):
now = time.time()
ips = [sc.analysis.vulns(('ip', '=', ip), tool='sumseverity', sortDirection='desc') for ip in [x[15] for x in csv.reader(open('full.csv', 'r'))
if x[15] != 'PrivateIpAddress']]
row = 0
while row < len(ips):
scan_data = []
scan_count = 0
for scan in ips[row]:
count = scan['count']
scan_data.append(count)
scan_count += int(count)
row += 1
print(time.time() - now)
输出:2702.747463464737
谢谢!
【问题讨论】:
-
我对 Tenable 一无所知,但似乎
sc.analysis.vulns向某些 API 发送请求,对吗?如果是这样,也许异步编程可能是答案。您知道 Tenable 是否提供异步功能吗?
标签: python performance processing-efficiency