-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 22/11/2011 22:28, Daniele Zambelli ha scritto: > Il 22 novembre 2011 21:05, Daniele Varrazzo <p...@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: > > - almeno 5 non capiscono come fare > - 5 non capiscono dove si trova > - 5 macchine non si connettono (dicono che la rete si "ingolfa" se > tutti tentano di scaricare qualcosa) > - e inoltre c'è sempre qualcuno che tenta di spostarlo o che lo apre > invece di copiarlo. > - ... > > Almeno un quarto d'ora di panico totale.
Ad ogni lezione? E con gli stessi alunni? > [...] > > Ribadisco la mia ignoranza, ma gli strumenti che proponi: "dsn per conoscere > i > nomi dei client, ssh server sui client, sftp sul server", utilizzare > direttamente da SO, non attraverso un programma Python? > > 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. > Visto come è fatta la tua rete, il programma è abbastanza semplice da sviluppare. Supponendo he: * L'indirizzo IP del server sia noto * Il file sia disponibile in una directory condivisa allora il programma non deve fare altro che fare copiare un file dalla directory remota sul server alla directory locale: import os SERVER = '192.168.0.1' # Indirizzo IP del server REMOTE_HOME = r'C:\Lab' # Directory dove si trova il file della lezione LOCAL_HOME = r'C:\Lab' # Directory dove salvare il file sul PC locale FILE_NAME = 'xxx' # Magari da interfaccia utente REMOTE_PATH = os.path.join(REMOTE_HOME, FILE_NAME) REMOTE_URI = r'\\%s\%s' % (SERVER, REMOTE_PATH) # XXX LOCAL_PATH = os.path.join(LOCAL_HOME, FILE_NAME) # Copia semplicemente il file os.copy(REMOTE_PATH, LOCAL_PATH) Non ho sottomano un computer Windows, e non so se il codice funziona. In alternativa puoi rendere il file disponibile tramite HTTP come ti ha suggerito Daniele (utilizzando il server HTTP della libreria standard di Python) Ciao Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk7MI1gACgkQscQJ24LbaUSliACfTYznsNxT8di1piGQzCnx4MPC Fj4AnRRpcVZuu3Q6RVNlCZAsagayF96+ =hsWt -----END PGP SIGNATURE----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python