Szkriptek: Python, Perl, Bash, ...

Fájlok darabszámának kiiratása {Megoldva}

Sziasztok.

Eddig gond nélkül éltem.
Már nem.
Jól elvoltam a könyvtárak méretével, a
du -sh
bőven megfelelt.

Hirtelen arra gondoltam, hogy egy ftp-vel történő darabonkénti feltöltés előtt nem árt megtudnom, hány fájl menne át. Itt jött a gond, ilyet sosem használtam. Nem kellett...

Van valakinek ötlete?

txt fájl feldolgozása

Sziasztok!
Az alábbi szerkezetű földhivatali adatszolgáltatásból kéne valami használható dolgot létrehoznom, ami eredetileg egy txt fájl, így néz ki:
http://pastebin.com/xsf6MP5f
Az eredmény egy csv lenne, kb így:
1/, kivett, beépítetlen terület, 0.1530, ., 1/2, Gipsz Jakabné, Minta Ilona, 1943, Próba Ildikó, 1111, Minta, Minta Ferenc utca 1;
1/, kivett, beépítetlen terület, 0.1530, ., 1/2, Gipsz Jakab,'null' ,1969, Minta Ilona, 1111, Minta, Minta Ferenc utca 1;

Mi lenne erre a legjobb?
Perl-re hajlanék, vagy esetleg Pyton? Awk? Awk elvileg ilyen dologra van kitalálva. 1x, najó, talán 3x lenne lefuttatva, ha tökéletes a szkript, futási idő lényegtelen

Perl guru kerestetik

Keresek egy hozzáértő embert aki meg tudná oldani az alábbi problémát.

Egy MNB árfolyam lekérdezést szeretnék Perlben összehozni. A PHP kód:


$client = new SoapClient("http://www.mnb.hu/arfolyamok.asmx?WSDL");
$result = new SimpleXMLElement($client->GetCurrentExchangeRates()->GetCurrentExchangeRatesResult);
list($eurft) = $result->xpath("//Rate[@curr='EUR']/text()");

Ezt szeretném átülteni Perlre. Megtaláltam a SOAP::WSDL::Client kiterjesztést.


use SOAP::WSDL::Client;
my $soap = SOAP::WSDL::Client->new({proxy => 'http://www.mnb.hu/arfolyamok.asmx?WSDL'});

Hogyan tovább? Lehet, hogy RTFM.

Jó Python IDE?

Ismerősöm Rpi-re fejlesztéshez keres jó Python-IDE-t. Én ugyan vi fan vagyok, de nem merném neki javasolni még a gvimet se. (Valamint az Emacs-ot se.) Kérek javaslatokat! (A végén át akarom küldnei neki a linket, oszt mazsolázzon. (Mivel a beszélgetésből ez kimaradt, így nem tudom, hogy a fejlesztést is magán a málnán akarja-e (99,99%, hogy Raspbian), vagy esetleg valami desktop Linuxon, netán Windows-on. Ezért bármelyiken fut a fentiek közül, elfogadható (de kérlek írd a javaslatod mellé, hogy melyik).

[MEGOLDVA]Python következő n sor kiíratása

Sziasztok!

Kérdés a következő:

Hogyan tudom elérni azt pythonban, hogy egy fájl soronkénti beolvasása után az if feltételben megadott sorok után következő 1-2 sort is kiírja? Valami hasonló kellene nekem mint bash-ben a grep -A1

Példa :

Valami.txt fájl tartalma:

AAAAA
BBBBB
CCCCC
DDDDD

Kód:

with open('valami.txt','r') as txt:
for i in txt.readlines():
if 'BBBBB' in txt:
print(i)
print("i+1") -->természetesen ilyen nincs, itt csak a következő sorra utaltam

Tehát a végeredmény ez lenne:

BBBBB
CCCCC

Bocsánat a pongyola megfogalmazásért, még eléggé kezdő vagyok pythonban.

[MEGOLDVA]awk nem ismeri a regexp or operátort?

ha szűrök például:
ntpdc -n -c monlist|awk '/^[^a-zA-Z]/ {print substr ($0, 1, 14)}'

akkor a lista tartalmazza a "remote IP"-at viszont ha bővítem a regexp feltételt:
ntpdc -n -c monlist|awk '/^[^=+]|^[^a-zA-Z]/ {print substr ($0, 1, 14)}'

akkor a "remote address" string és a " ==== " karakterek is szerepelnek a listában. persze használhatok grep-t meg perl-t de nem hiszem h az awk ezt nem tudja.

próbátam ezt is:
/^\=|^[^a-zA-Z]/
de így sem szedi ki az egyenlőség jeleket.

mit csinálok rosszul?

Háttérkép véletlenszerű idézetekkel (Ubuntu)

Módosítottam egy Ubuntus fórumon talált Python szkriptet, használjátok egészséggel :)
A szöveget és képet csak a példa kedvéért raktam ide, a fájlnév legyen notes.txt és original.jpg (vagy írd át a szkriptben).

cd
wget https://raw.githubusercontent.com/sicambria/py/master/misc/walltext.py
wget http://pastebin.com/raw/txZBq8m3 -O notes.txt
wget https://upload.wikimedia.org/wikipedia/commons/1/15/Thin_Line_of_Earth%… -O original.jpg

# Futtatás minden indításkor
echo "python3 ~/walltext.py &" >> ~/.profile

# Kézi futtatás:
python3 ~/walltext.py

További szkriptek:
http://forraskod.blogspot.hu/

python-kérdés

Sziasztok.

Egy NMEA-checkert szeretmék pythonban, de paranoid módon, azaz minden lehetséges sentence-hibánál dobja az egész sort.
Eddig perlben és javascriptben tudtam megoldani ezt.

Levadásztam innen-onnan 2 kódot, ezeket egyberaktam, most így fest:


#!/usr/bin/env python

import re

""" Calculate  the checksum for NMEA sentence 
    from a GPS device. An NMEA sentence comprises
    a number of comma separated fields followed by
    a checksum (in hex) after a "*". An example
    of NMEA sentence with a correct checksum (of
    0x76) is:
    
      GPGSV,3,3,10,26,37,134,00,29,25,136,00*76"
"""

def check_nmea0183(s):
    """
    Check a string to see if it is a valid NMEA 0183 sentence
    """
    if s[0] != '$':
		print "nem jol kezdodik"

    if s[-4] != '*':
		print "nem jol vegzodik"
        

def checksum(sentence):

    """ Remove any newlines """
    if re.search("\n$", sentence):
        sentence = sentence[:-1]

    nmeadata,cksum = re.split('\*', sentence)

    calc_cksum = 0
    for s in nmeadata:
        calc_cksum ^= ord(s)

    """ Return the nmeadata, the checksum from
        sentence, and the calculated checksum
    """
    return nmeadata,'0x'+cksum,hex(calc_cksum)

if __name__=='__main__':

    """ NMEA sentence with checksum error (3rd field 
       should be 10 not 20)
    """
    line = "$GPGSV,3,3,20,26,37,134,00,20,25,136,00*58\n"


    check_nmea0183(line)
    
    """ Get NMEA data and checksums """

    data,cksum,calc_cksum = checksum(line)

    """ Verify checksum (will report checksum error) """ 
    if cksum != calc_cksum:
        print "Error in checksum for: %s" % (data)
        print "Checksums are %s and %s" % (cksum,calc_cksum)
    else:
     print "minden ok: ",(calc_cksum)

A kódban az
if s[-4] != '*':
sorban ezek szerint ha a mondat végén lévő \n jelet nézem, akkor azt a python egyetlen karakterként értelmezi.

Kérdés:
Ezt jól értem?