Szkriptek: Python, Perl, Bash, ...

CSV2Excel in Python

sziasztok

csvbol kellene kinyernem adatokat es egy leteo .xlsx file-t update-elni
az adatok megvannak, szepen tudok olvasni az xlsx-bol illetve a csv-bol is, de valamiert nem megy az iras/frissites funkcio

esetleg otlet valakinek?


import xlwt
import xlrd
from xlutils.copy import copy

rb = xlrd.open_workbook('ICPCopy.xlsx')

wb = copy(rb)

w_sheet = wb.get_sheet(0)

w_sheet.write(0,0,'modification')

wb.save('ICPCopy.xlsx')

Error:


Traceback (most recent call last):

File "C:\workspace\test\src\writer.py", line 16, in
wb.save('ICPCopy.xlsx')

File "C:...\AppData\Local\Programs\Python\Python35\lib\site-packages\xlwt\Workbook.py", line 696, in save
doc.save(filename_or_stream, self.get_biff_data())

File "C:\...\AppData\Local\Programs\Python\Python35\lib\site-packages\xlwt\CompoundDoc.py", line 262, in save
f = open(file_name_or_filelike_obj, 'w+b')

PermissionError: [Errno 13] Permission denied: 'ICPCopy.xlsx

python-video-converter

Sziasztok!

Valaki esetleg dolgozott már itt a python-video-converter nevű modullal?

Ezt a script-et faragom most éppen csak kicsit elakadtam.
http://pastebin.com/XyKGftJA

PyCharm-ot használok IDE-nek(laptopn), de a script egy másik gépen futna(headless). Ezt esetleg tudjátok, hogyan lehetne remote futtatni?

1. Szeretném, ha a fájllistába nem csak .mkv vagy .mp4-et hanem mind a kettőt belevenné.
2. Szeretném, hogy ha a videokodec H264, akkor a codec csak 'copy' lenne, illetve, hogyha az audio codec 'dts', akkor ac3-ra konvertálná, amúgy csak 'copy'. Ha a fájl alapból H264 és !nem DTS, akkor nem is kéne igazából konvertálni.

Nagyon köszi előre is, ha esetleg tudtok segíteni.

[Megoldva][Bash] Szöveg szavai tömb elemekbe

Sziasztok!!

Hogy tudnám ezt megcsinálni.
Példa:
TEXT="A hó fehérke még alszik ...."
a szavak (azaz a szóközökkel elválasztott karakterek) bekerüljenek egyesével egy tömbe

TOMB[1]="A"
TOMB[2]="hó"
TOMB[3]="fehérke"
TOMB[4]="még"
...
TOMB[N]="vége"

[Megoldás]
IFS=' ' read -ra TOMB <<< "$TEXT"
for i in "${TOMB[@]}"
do
echo $i
done

Könyvtár figyelése PHP - MEGOLDVA

Sziasztok!

Hirtelen nem jut eszembe egyszerű megoldás a következő problémára:
Adott egy könyvtár, amibe folyamatosan kerülnek be fájlok és ideális esetben pár mp múlva el is tűnnek, mert egy feldolgozó elkapja őket. De előfordulhat, hogy nem sikerül feldolgozni, ilyenkor ott marad. Na erre kellene nekem riasztót írnom.
Az egész egy HP-Unixon van, először bash irányba indultam, de a Unix-os find-ban nincs mmin. Ezért arra gondoltam, hogy a bash script csak egy könyvtár listát csinál és azt elküldi FTP-n egy Linuxra. Ott pedig egy percenként futó PHP-vel ellenőrizhetném, hogy van-e benne mai fájl. Ha van, berakom egy táblába, és a 'hanyszor' oszlopot 1-re állítom. Ha a következő futáskor is benne van, növelem a 'hanyszor' értékét, majd ha az eléri az ötöt, mehet a riasztás.
Eddig ez talán működne is, de mi van, ha a következő listában olyan fájl van, ami eddig nem volt a táblában? Teszem azt, első körben bekerült a táblába a,b és c fájl. A második körben jön egy b,e fájl lista. Ha a táblában lévő adatokat nézem végig egy ciklussal, abból ugyan ki fog derülni, hogy a b-t növelni kell, de nem derül ki, hogy az e új fájl.
Biztos pofon egyszerű a megoldás, csak késő van már nekem hozzá :)

Köszönöm!

R nyelv GUI

R nyelvet RStudio környezetben használok mérések értékelésére. Most az a gondom, hogy kellene egy olyan program, amivel a technikusok a kérdőívek adatait és mérési eredményeket beviszik egy adatbázisba (MySQL). A kérdésem az, hogy az R nyelv Tk felületével érdemes-e nekiállni vagy valami általános nyelven, amit ismerek (php) álljak neki. Hogyha más nyelven írom, akkor persze az eredményközlés macerás lesz.
Köszönöm a segítséget.

perl memória szivárgás kikerülése

Szervusztok!

Egy kiragadott részlettel is (lentebb) sikerült előállítanom azt, hogy egy adathalmot olvasva, majd kicsit gereblyézve, folyamatosan nő a memória igénye a perl-nek. Próbálom a lehetőségeket számításba venni, de az utolsó találatnál megállt bennem minden.

- adatbázis
- undef @var;
- @var = ();
- perldoc -q "program shrinks"

Segítsetek kikerülni ebből, amit köszönök előre is!
Üdv,
vfero


#!/usr/bin/perl -w

use utf8;
use strict;
use locale;
use Switch;
use English;
use warnings;
use Env qw(@HOME $USER);
use Data::Dump::Streamer;
use List::MoreUtils qw(uniq);
use Term::ReadKey;
use List::Util qw(min max);
#---------------------------------------------
sub checkLimit($$$){
my ($p_a,$p_limit,$p_res) = @_;

foreach (@{$p_a}){
if($_ > ${$p_limit}){ push(@{$p_res}, $_) };
}
}
#---------------------------------------------
# MAIN
my @a = ();

# fill
for(my $c=0 ; $c < 100000 ; $c++){

$a[$c] = rand();
if(($c % 10000)==0) {print $c . "\n"}
}

my $limit;
my @res;

printf("Data filled %s, check the memory. ex.: memstat -w -p %s\n",$#a,$PID); ReadKey(0);

# check
foreach $limit(map { 0.01 * $_ } 1..100 ){

checkLimit(\@a,\$limit,\@res);

printf("limit %0.3f count %d\n",$limit, $#res );
@res=();
}
undef @res;

printf("Pls check again the memory usage. ex.: memstat -w -p %s\n",$PID); ReadKey(0);
exit ;
__END__

first

17012k: PID 1098 (/usr/bin/perl)
4352k( 0k): /usr/lib/locale/locale-archive 1098
16k( 8k): /usr/bin/perl 1098
3620k( 1536k): /usr/lib/libperl.so.5.18.2 1098
2068k( 12k): /usr/lib/perl/5.18.2/auto/Fcntl/Fcntl.so 1098
2064k( 12k): /usr/lib/perl/5.18.2/auto/Hash/Util/Util.so 1098
2068k( 16k): /usr/lib/perl/5.18.2/auto/IO/IO.so 1098
2380k( 328k): /usr/lib/perl/5.18.2/auto/re/re.so 1098
2076k( 20k): /usr/lib/perl/5.18.2/auto/List/Util/Util.so 1098
2084k( 32k): /usr/lib/perl/5.18.2/auto/Data/Dumper/Dumper.so 1098
2064k( 12k): /usr/lib/perl/5.18.2/auto/Filter/Util/Call/Call.so 1098
2060k( 8k): /usr/lib/perl/5.18.2/auto/Tie/Hash/NamedCapture/NamedCapture.so 1098
2120k( 60k): /usr/lib/perl/5.18.2/auto/B/B.so 1098
2080k( 28k): /usr/lib/perl5/auto/Term/ReadKey/ReadKey.so 1098
2064k( 12k): /usr/lib/perl5/auto/B/Utils/Utils.so 1098
2080k( 28k): /usr/lib/perl5/auto/Data/Dump/Streamer/Streamer.so 1098
2068k( 16k): /usr/lib/perl5/auto/PadWalker/PadWalker.so 1098
2128k( 72k): /usr/lib/perl5/auto/List/MoreUtils/MoreUtils.so 1098
3096k( 1044k): /lib/x86_64-linux-gnu/libm-2.19.so 1098
2064k( 12k): /lib/x86_64-linux-gnu/libdl-2.19.so 1098
2092k( 36k): /lib/x86_64-linux-gnu/libcrypt-2.19.so 1098
2152k( 100k): /lib/x86_64-linux-gnu/libpthread-2.19.so 1098
148k( 140k): /lib/x86_64-linux-gnu/ld-2.19.so 1098
3840k( 1768k): /lib/x86_64-linux-gnu/libc-2.19.so 1098
--------
67796k ( 5300k)

second

23804k: PID 1098 (/usr/bin/perl)
4352k( 0k): /usr/lib/locale/locale-archive 1098
16k( 8k): /usr/bin/perl 1098
3620k( 1536k): /usr/lib/libperl.so.5.18.2 1098
2068k( 12k): /usr/lib/perl/5.18.2/auto/Fcntl/Fcntl.so 1098
2064k( 12k): /usr/lib/perl/5.18.2/auto/Hash/Util/Util.so 1098
2068k( 16k): /usr/lib/perl/5.18.2/auto/IO/IO.so 1098
2380k( 328k): /usr/lib/perl/5.18.2/auto/re/re.so 1098
2076k( 20k): /usr/lib/perl/5.18.2/auto/List/Util/Util.so 1098
2084k( 32k): /usr/lib/perl/5.18.2/auto/Data/Dumper/Dumper.so 1098
2064k( 12k): /usr/lib/perl/5.18.2/auto/Filter/Util/Call/Call.so 1098
2060k( 8k): /usr/lib/perl/5.18.2/auto/Tie/Hash/NamedCapture/NamedCapture.so 1098
2120k( 60k): /usr/lib/perl/5.18.2/auto/B/B.so 1098
2080k( 28k): /usr/lib/perl5/auto/Term/ReadKey/ReadKey.so 1098
2064k( 12k): /usr/lib/perl5/auto/B/Utils/Utils.so 1098
2080k( 28k): /usr/lib/perl5/auto/Data/Dump/Streamer/Streamer.so 1098
2068k( 16k): /usr/lib/perl5/auto/PadWalker/PadWalker.so 1098
2128k( 72k): /usr/lib/perl5/auto/List/MoreUtils/MoreUtils.so 1098
3096k( 1044k): /lib/x86_64-linux-gnu/libm-2.19.so 1098
2064k( 12k): /lib/x86_64-linux-gnu/libdl-2.19.so 1098
2092k( 36k): /lib/x86_64-linux-gnu/libcrypt-2.19.so 1098
2152k( 100k): /lib/x86_64-linux-gnu/libpthread-2.19.so 1098
148k( 140k): /lib/x86_64-linux-gnu/ld-2.19.so 1098
3840k( 1768k): /lib/x86_64-linux-gnu/libc-2.19.so 1098
--------
74588k ( 5300k)

[megoldva] Ruby cannot load such file -- ifconfig

Sziasztok

Megörököltem egy Ruby scriptet ami debian 6 alatt működik. Átraknám Debian 8 alá, de indításkor


/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- ifconfig (LoadError)
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from interfaces.rb:2:in `<main>'

Soha nem foglalkoztam Rubyval. Annyit kigugliztam, hogy gems kell neki.
Ezt a 2008-as kódot találtam.
Ezt kell nekem? Újabb nincs?
Debian repóban nem sok hasznosat látok.

Régi szerveren:


# dpkg -l | grep ruby
ii  libmysql-ruby1.8                         2.8.2-1                      MySQL module for Ruby 1.8
ii  libreadline-ruby1.9                      1.9.0.2-9lenny1              Readline interface for Ruby 1.9
ii  libruby1.8                               1.8.7.302-2squeeze5          Libraries necessary to run Ruby 1.8
ii  libruby1.9                               1.9.0.2-9lenny1              Libraries necessary to run Ruby 1.9
ii  ruby1.8                                  1.8.7.302-2squeeze5          Interpreter of object-oriented scripting language Ruby 1.8
ii  ruby1.8-dev                              1.8.7.302-2squeeze5          Header files for compiling extension modules for the Ruby 1.8
ii  ruby1.9                                  1.9.0.2-9lenny1              Interpreter of object-oriented scripting language Ruby 1.9
ii  ruby1.9-dev                              1.9.0.2-9lenny1              Header files for compiling extension modules for the Ruby 1.9

Új szerveren:


# dpkg -l | grep ruby
ii  libruby2.1:amd64               2.1.5-2+deb8u2              amd64        Libraries necessary to run Ruby 2.1
ii  ruby                           1:2.1.5+deb8u2              all          Interpreter of object-oriented scripting language Ruby (default version)
ii  ruby-mysql                     2.9.1-1                     amd64        MySQL module for Ruby
ii  ruby2.1                        2.1.5-2+deb8u2              amd64        Interpreter of object-oriented scripting language Ruby
ii  ruby2.1-dev:amd64              2.1.5-2+deb8u2              amd64        Header files for compiling extension modules for the Ruby 2.1
ii  rubygems-integration           1.8                         all          integration of Debian Ruby packages with Rubygems

Mi a helyes irány?
Ha minden kötél szakad, átírom bash/perl scriptbe, de gondoltam előtte megkérdezem a hozzáértőket.

Köszönöm!

A megoldás: gem install aaalex-ruby-ifconfig

logstash xml split array

Sziasztok,

A kovetkezo xml filtert kene alkalmassa tennem, hogy a tobb elemes tomboket kulon eventkent kuldje tovabb a logstash:
A jelenlegi filter a 0 indexeket egy eventkent elkuldi, a cel, hogy a [@] eventeket is elkuldje mint uj event. Itt egy reszlet az XML-bol is.
*Szerkesztve
atraktam a filter code-ot es az xml peldat pastie-re mert, a hup szerkeszto nem kompatibilis velem.
http://pastie.org/10866373
Ha esetleg van otleted, azt oszd meg velem.
Koszonom,

szubrutinból kilépés

Van egy bash szkriptem, mely meghív egy szubrutint, de az ha problémával találkozik akkor kilép. Persze, mert ott van hogy "exit".
Viszont úgy kéne kilépnem hogy az "exit" helyén CSAK a szubrutinból lépjen ki, ne a szkriptből. A szkriptnek tovább kéne futnia.
Mindenesetre most kipróbálom a "return" parancsot

Több sorból grep-pelés

Sziasztok!

Bizonyos okokból saját autoresponse scriptet írok, de belefutottam egy olyan problémába, hogy a ^From: után több sor van, és csak a végén van az email cím.
Valami ilyesmi:

From: blablablablablablablabla
blabla blablabla blabla
bla blablabla blabla kacsacsőr akarki@barhol.hu kacsacsőr

Hogy lehetne ezt értelmesen kiszedni a sorok közül?

Köszönöm!

ui: persze, ha van Reply-To, akkor azt keresem.