python - wrzucanie do bazy sqlite z przyrastającego pliku.

Potrzebujesz pomocy z C, C++, perl, python, itp.
sethiel
Junior Member
Posty: 740
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

python - wrzucanie do bazy sqlite z przyrastającego pliku.

Post autor: sethiel » 08 lutego 2017, 15:39

Mam plik airodump-02.kismet.netxml, który jest przetwarzany i wrzucany do bazy sqlite.
Natomiast plik ten przyrasta non stop. Więc czy można coś zrobić (co?) aby plik został przetworzony a następnie wciąż był "open" i aby skrypt czekał aż się coś pojawi, a gdy się pojawi to - pac - do bazy danych?

Kod: Zaznacz cały

#!/usr/bin/python
import sqlite3, sys
from bs4 import BeautifulSoup
xmlDom = BeautifulSoup( open('airodump-02.kismet.netxml','r').read() )
location = sys.argv[3]

connection = sqlite3.connect(sys.argv[2])

for network in xmlDom.findAll('wireless-network') :
    essid = network.find('essid').text
    if not essid:
      essid = '-hidden-essid-'
    channel = network.find('channel').text
    bssid = network.find('bssid').text
    encryption = network.find('encryption').text
    print essid, channel, bssid, encryption
    connection.execute("insert into networks (location, essid, macaddr, channel, encryption) values (?,?,?,?,?)", (location, essid, bssid, chanel, encryption) )
    connection.commit
    counter += 1

connection.close()
ps. o co chodzi w pętli for? (w sensie gdzie i dlaczego on się kończy?) jak uruchamiam skrypt to tak jakby się kończył na counter+=1, ale skąd for to wie? Dlaczego nie kończy się na connection.close(), albo wcześniej np po pierwszym if?
ps2. to mój pierwszy skrypt przepisany z filmu na youtube więc mój poziom doświadczenia na razie jest w okolicach zera.

Awatar użytkownika
dedito
Moderator
Posty: 1836
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: python - wrzucanie do bazy sqlite z przyrastającego pliku.

Post autor: dedito » 08 lutego 2017, 18:30

W Pythonie wcięcia definiują bloki programu (nie ma "klamerek" czy innych separatorów znanych z innych języków).
W Pythonie wcięcia są niezbędne do poprawnego działania kodu (w odróżnieniu od innych języków gdzie służą jedynie większej czytelności).

sethiel
Junior Member
Posty: 740
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Re: python - wrzucanie do bazy sqlite z przyrastającego pliku.

Post autor: sethiel » 09 lutego 2017, 09:44

Dziękuję pięknie. W życiu bym się nie spodziewał.

Awatar użytkownika
dedito
Moderator
Posty: 1836
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: python - wrzucanie do bazy sqlite z przyrastającego pliku.

Post autor: dedito » 09 lutego 2017, 14:12

W takim razie proszę oznaczyć wątek i zamykamy.

sethiel
Junior Member
Posty: 740
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Re: python - wrzucanie do bazy sqlite z przyrastającego pliku.

Post autor: sethiel » 09 lutego 2017, 15:41

Hm, ale odpowiedź mam tylko na postscriptum a nie na podstawowe pytanie, czyli czyli jak podłączyć się do pliku, czekać i przetwarzać to co do niego wpada.

Odpowiedz

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość