[Python] Indirizzi delle macchine di una rete locale

Daniele Varrazzo piro a develer.com
Mar 22 Nov 2011 23:04:42 CET


On Tue, 22 Nov 2011 22:28:55 +0100, Daniele Zambelli
<daniele.zambelli a gmail.com> wrote:
> Il 22 novembre 2011 21:05, Daniele Varrazzo <piro a develer.com> ha
scritto:
>> [...]
>>> Magari tu stai pensando: i vari utenti non possono semplicemente
>>> collegarsi via scp al computer dove risiede il file e scaricarselo
(che
>>> tra l'altro è la cosa più sana da fare, ma stavo assumendo che all'OT
>>> questo non andasse bene)?
> 
> Scenario: aula di informatica, macchine Windows, 28 alunni di prima
> (superiore) che devono lavorare su un file predisposto da me. Quando
> lo metto sul server e dico ai ragazzi di scaricarlo:

Quindi come immaginavo è più adatta una soluzione pull, dove i client si
connettono al server e scaricano qualcosa.

Mi sembra sia facile da risolvere con un link sul desktop su cui fare
doppio click. Se hai anche bisogno di scompattare uno zip o comunque
scaricare più di un file, mi sembra facile scrivere uno script da
distribuire sui client una sola volta: lo script si connetterebbe al
server, scaricherebbe uno script "http://server.squola/lezione-di-oggi.py"
python e lo eseguirebbe. Nella forma più semplice, questo script andrebbe
cambiato ad ogni lezione e potrebbe consistere nel creare una cartella sul
client "C:\lezione-2011-11-22", scaricare uno zip dal server
(http://server.squola/lezione-2011-11-22.zip), scompattarlo e fare qualche
altra menatina sul client - aprire un editor, aprire explorer alla cartella
scompattata...


> Ribadisco la mia ignoranza, ma gli strumenti che proponi:  "dsn per
> conoscere i
> nomi dei client, ssh server sui client, sftp sul server", �sono da
> utilizzare direttamente da SO, non attraverso un programma Python?

Non è un problema usare python per eseguire programmi di sistema operativo
(ma è più facile farlo su linux dove tutto parla stdin/stdout che su
windows). Ma come immaginavo la soluzione del server che pusha sui client
non è necessaria (è di ordini di grandezza più complicata di quella che ti
propongo): per te è sufficiente che i client pullino dal server - solo in
maniera più automatizzata che farlo fare ai tuoi studenti "a manella".


> Ho un gruppo di alunni che intendeva lavorare ad un programma in
> Python per fare ciò, ma da come potete capire, non ho saputo dare loro
> delle giuste dritte.

Fai quello che ti dico e già sapranno come eseguire uno script da uno
script, leggere risorse http, manipolare file zip da programma: tutte cose
fattibili con la stdlib di python, alla portata di "script kiddies",
educative e utili per futuri lavori.


-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


Maggiori informazioni sulla lista Python