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

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

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

Post autor: sethiel »

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: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

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

Post autor: dedito »

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: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

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

Post autor: sethiel »

Dziękuję pięknie. W życiu bym się nie spodziewał.
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

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

Post autor: dedito »

W takim razie proszę oznaczyć wątek i zamykamy.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

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

Post autor: sethiel »

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