pycharm unused import statement
« il: Settembre 29, 2019, 18:17 »
Ciao a tutti mi sono appena iscritto al forum e sono ancora un ignorante nel mondo di  python, ho delle basi nella programmazione ad oggetti in C++ .
Python mi interessa molto, ho visto un sacco di librerie per ogni campo, mi aiutereste a conoscerlo meglio passandomi materiale per studiarlo meglio? Sia le  basi e qualcosa sul mondo del Data Science?

Questo mio programma riceve un file .tie, TIE è  un programma per la cattura del traffico di rete lo analizza e genera un file di tipo CSV.
Il mio programma rielabora questo file in input e lo rielabora generando in output un file xlsx che analizza i biflussi.

Uso come IDE pycharm, non capisco perchè pycharm mi metta in grigio alcune parti del codice e me le indica come "unused import statement".
Credo che ritenga inutile importare quelle funzioni da quei moduli perchè secondo lui io non le uso ma nel programma che di sotto inserirò ci sono.

Le funzioni che mi grigia sono queste:

from datetime import datetime
from subprocess import Popen, PIPE

 

Ho aggiunto ogni tipo di libreria contenente le parole subprocess pyshark subprocess xlwt e datatime presente nell'elenco, ma niente non ci sono versi me le griggia sempre perchè? Come faccio la prossima volta ad evitare questo problema?




Vi metto qui tutto il programma

import subprocess
import pyshark
import xlwt

from datetime import datetime
from subprocess import Popen, PIPE

ip_tie = []

campi = ['Data', ' Protocol', 'DNS response address', 'DNS query name', 'SSL',
         'IP Source', 'IP Destination', 'IP Proto', 'TCP Source Port',
         'TCP Destination Port', 'TCP Source Port', 'Organisation', 'Reverse Host']

number = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

name = ['renato']

workbook = xlwt.Workbook()

for n in name:
    for x in number:
        print('#### ANALISI FILE ' + n + str(x))
        r = 1
        sheet = workbook.add_sheet("Pacchetto" + n + str(x))
        style = xlwt.easyxf('font: bold 1')

        for c in range(0, len(campi) - 1):
            sheet.write(0, c, campi[c], style)
            sheet.col(c).width = 256 * 40

        file_name_tie = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/class' + n + str(x) + '.tie'
        file = open(file_name_tie, "r")
        righe = file.readlines()
        print('Inizio lettura .tie')

        for i in range(11, len(righe) - 1):
            riga = righe
            elem = riga.split('\t')
            ip_dest = elem[2]
            ip_tie.append(ip_dest)

        print('Fine lettura .tie')

        file_name_pcap = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/traffic.pcap'
        cap = pyshark.FileCapture(file_name_pcap, display_filter='dns')
        dati = []

        try:
            for packet in cap:
                print('###Avvio analisi pacchetto')

                try:
                    data = datatime.fromtimestamp(float(packet.frame_info.time_epoch))
                except:
                    data = ''
                try:
                    protocol = packet.frame_info.protocols
                except:
                    protocol = ''
                try:
                    dns_addr = packet.dns.a
                except:
                    dns_addr = ''
                try:
                    dns_name = packet.dns.qry_name
                except:
                    dns_name = ''
                try:
                    ssl = packet.ssl.handshake_extensions_
                except:
                    ssl = ''
                try:
                    ip_src = packet.ip.dst
                except:
                    ip_src = ''
                try:
                    ip_dst = packet.ip.dst
                except:
                    ip_dst = ''
                try:
                    ip_proto = packet.ip.proto
                except:
                    ip_proto = ''
                try:
                    src_port = packet[packet.trasport_layer]
                except:
                    src_port = ''
                try:
                    dst_port = packet[packet.trasport_layer]
                except:
                    dst_port = ''

                tot = [data, protocol, dns_addr, dns_name, ssl, ip_src, ip_dst, ip_proto, src_port, dst_port]

                for ip in ip_tie:

                    if ip == dns_addr:

                        print('IP CORRISPONDONO: Avvio whois')
                        dati_agg_whois = ''
                        dati_agg_host = ''
                        proc = subprocess.Popen(['whois', ip], stdout=subprocess.PIPE)
                        output = proc.communicate(ip)[0]
                        o = output.split('\n')


                        for i in o:
                            p = i.split(':')
                            for m in p:
                                dati.append(m.lstrip().lower())
                                for i in 'org-name', 'orgname', 'person', 'netname':
                                    try:
                                        ind = dati.index(i)
                                        dati_agg_whois = dati_agg_whois + ' ' + dati[ind + 1]
                                    except:
                                        pass
                                print('Avvio analisi host')
                                proc = subprocess.Popen(['host', ip], stdout=subprocess.PIPE)
                                output = proc.communicate(ip)[0]
                                o = output.split(' ')
                                dati_agg_host = o[4].replace('\n', '')
                                tot.append(dati_agg_whois)
                                tot.append(dati_agg_host)
                                break
                        print(tot)

                        for c in range(0, len(tot) - 1):
                            dato = str(tot[c])
                            sheet.write(r, c, dato)

                        r = r + 1

                        print('Fine analisi pacchetto #')
        except:
            print('###ERRORE')

workbook.save('Analisi.gt.tie.xlsx')
 



Questo è quello che visualizza nella shell quando faccio la Run:

/home/dario/Scrivania/retiprova1/provaprogetto/venv/bin/python /home/dario/Scrivania/retiprova1/provaprogetto/prova.py
#### ANALISI FILE renato1
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato2
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato3
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato4
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato5
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato6
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato7
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato8
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato9
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato10
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato11
Inizio lettura .tie
Fine lettura .tie
###ERRORE
#### ANALISI FILE renato12
Inizio lettura .tie
Fine lettura .tie
###ERRORE

Process finished with exit code 0


 
Metto uno screen dei mio file che genero
https://imgur.com/KNRfEi6
« Ultima modifica: Settembre 29, 2019, 18:44 da Mr.GoldFinger »