wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009
-
22 avril 2009 à 02:15
wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009
-
17 mai 2009 à 22:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009 17 mai 2009 à 22:46
Bonisoir Baouh,
je pense que c'est effectivement l'origine du problème : je ne me suis jamais penché sur Python 3, mais il me semble que print y devient une fonction : print()
Du coup, la syntaxe serait effectivement fausse. Je travaille avec Python 2.6.
Bon, je n'ai pas trop compris ton histoire de clé USB et de serveur de fichiers. Tu fais passer tous les fichiers zotero sur ta clé et tu la copies sur tous tes ordis, c'est ça ? Le script peut effectivement te permettre de faire cela, et de façon automatique, avec ASync.bat.
Par contre, le script ne fusionne pas les fichiers. Impossible, donc, de modifier un fichier sur plusieurs ordis simultanément. Je ne sais pas si cela a une importance dans ton cas.
bonne soirée
PS : merci pour dropbox et zotero : ces prgms ont l'air intéressants :)
re-salut,
J'ai fait un premier test et je n'arrive toujours pas à utiliser ton script. En ouvrant ton script et en lançant le shell, j'ai un message "invalid syntax" et me surligne le second guillement double de la ligne 81 :
print "ERROR: file %s could not be sync" % filesrc
Avant de chercher plus loin, j'utilise la version 3.0.1 de Python, est-ce que ça peut être l'origine du problème ?
Quoiqu'il en soit, je n'ai pas réussi à faire un test de ton script comme l'exemple donné. Est-ce que tu vois une explication ?
Pour t'expliquer un de mes besoins, je souhaite synchroniser ma bibliographie (documents + notes), stockée dans zotero (une extension de firefox pour gérer une biblio). Comme zotero offre désormais une solution de synchronisation, je devrais m'en sortir... sauf que cela ne marche pas non plus [version beta] :( Plus généralement, j'ai besoin de plusieurs scripts pour copier et synchroniser des fichiers (exporter de bases de données etc.) entre postes en passant par une clé USB, et aussi vers un serveur de fichiers. Du coup ton script m'intéresse ;)
Enfin, pour partager un dossier entre ordis, tu peux jeter un oeil à dropbox... mais je ne sais pas ce que ça vaut en terme de sécurité etc.
Merci pour ta réponse rapide et désolé de revenir seulement maintenant. J'avais besoin d'un moyen de synchroniser des documents pdf en particulier (pour une base bibliographique), et j'ai une autre solution pour l'instant (qui passe par un serveur distant).
Je vais tester ton script sur d'autres fichiers et te raconterai mes éventuels déboires, et il y en aura certainement vu que je commence seulement python.
Bon week-end
wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009 6 mai 2009 à 20:04
Salut,
pour exécuter le script à partir du shell, je te propose la méthode la méthode suivante :
- tu ouvres le fichier sync.py, tu l'exécutes (F5).
- dans la console tu as l'aide du programme (suivi d'un message d'erreur que je n'avais pas prévu ^^) parce qu'aucun argument n'a été précisé.
- dans la console, tu exécutes la commande :
main('-f C:/test -d ["E:/"] -r'.split(' ')) (à adapter)
Le split() est nécessaire car le prgm est prévu pour être appelé en ligne de commande windows ou linux, du genre : python sync.py argument1 argument2 etc.
(La fonction main -de sync.py- est chargée dans l'environnement du shell lorsque tu exécutes le script)
Est-ce adapté à ton projet ?
Je dirais que ça dépend de ce que tu veux faire et peux faire :
- en fait il ne s'agit pas exactement d'une synchronisation. Il y a un dossier "maître", celui que tu utilises couramment, et un dossier "esclave", qui conserve les fichiers qui sont passés par le dossier maître. C'est pour cette raison qu'un fichier supprimé dans le dossier maître ne le sera pas dans le dossier esclave. L'esclave est donc tjrs plus gros que le maître.
- je ne sais pas dans quelle mesure tu peux appliquer le prgm à ton cas. Je l'avais plutôt prévu pour un ordi ayant 2 disques durs ou plus. Cela fonctionnera si par un moyen qq tu arrives à partager le dossier à copier avec l'ordinateur de destination. Si tu y arrives, dis-moi comment ! :)
Bonjour,
Je débute tout juste dans Python, et je n'arrive pas à exécuter ton script... Je voulais le lancer sans utiliser les fichiers .conf car je les crois inadaptés dans mon cas. Je souhaite en effet réaliser une synchronisation entre 2 postes dont un en Linux et l'autre en Win XP (et je pensais plutôt utiliser rsync pour le côté Linux...)
Est-ce que ta solution pourrait fonctionner ? si oui, comment je lance ton script, à partir du shell python ?
Merci et désolé pour ces questions au ras des pâquerettes...
wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009 22 avril 2009 à 02:15
28 téléchargements et aucun commentaire, aucune critique ?
17 mai 2009 à 22:46
je pense que c'est effectivement l'origine du problème : je ne me suis jamais penché sur Python 3, mais il me semble que print y devient une fonction : print()
Du coup, la syntaxe serait effectivement fausse. Je travaille avec Python 2.6.
Bon, je n'ai pas trop compris ton histoire de clé USB et de serveur de fichiers. Tu fais passer tous les fichiers zotero sur ta clé et tu la copies sur tous tes ordis, c'est ça ? Le script peut effectivement te permettre de faire cela, et de façon automatique, avec ASync.bat.
Par contre, le script ne fusionne pas les fichiers. Impossible, donc, de modifier un fichier sur plusieurs ordis simultanément. Je ne sais pas si cela a une importance dans ton cas.
bonne soirée
PS : merci pour dropbox et zotero : ces prgms ont l'air intéressants :)
17 mai 2009 à 15:23
J'ai fait un premier test et je n'arrive toujours pas à utiliser ton script. En ouvrant ton script et en lançant le shell, j'ai un message "invalid syntax" et me surligne le second guillement double de la ligne 81 :
print "ERROR: file %s could not be sync" % filesrc
Avant de chercher plus loin, j'utilise la version 3.0.1 de Python, est-ce que ça peut être l'origine du problème ?
Quoiqu'il en soit, je n'ai pas réussi à faire un test de ton script comme l'exemple donné. Est-ce que tu vois une explication ?
Pour t'expliquer un de mes besoins, je souhaite synchroniser ma bibliographie (documents + notes), stockée dans zotero (une extension de firefox pour gérer une biblio). Comme zotero offre désormais une solution de synchronisation, je devrais m'en sortir... sauf que cela ne marche pas non plus [version beta] :( Plus généralement, j'ai besoin de plusieurs scripts pour copier et synchroniser des fichiers (exporter de bases de données etc.) entre postes en passant par une clé USB, et aussi vers un serveur de fichiers. Du coup ton script m'intéresse ;)
Enfin, pour partager un dossier entre ordis, tu peux jeter un oeil à dropbox... mais je ne sais pas ce que ça vaut en terme de sécurité etc.
@+
16 mai 2009 à 19:48
Merci pour ta réponse rapide et désolé de revenir seulement maintenant. J'avais besoin d'un moyen de synchroniser des documents pdf en particulier (pour une base bibliographique), et j'ai une autre solution pour l'instant (qui passe par un serveur distant).
Je vais tester ton script sur d'autres fichiers et te raconterai mes éventuels déboires, et il y en aura certainement vu que je commence seulement python.
Bon week-end
6 mai 2009 à 20:04
pour exécuter le script à partir du shell, je te propose la méthode la méthode suivante :
- tu ouvres le fichier sync.py, tu l'exécutes (F5).
- dans la console tu as l'aide du programme (suivi d'un message d'erreur que je n'avais pas prévu ^^) parce qu'aucun argument n'a été précisé.
- dans la console, tu exécutes la commande :
main('-f C:/test -d ["E:/"] -r'.split(' ')) (à adapter)
Le split() est nécessaire car le prgm est prévu pour être appelé en ligne de commande windows ou linux, du genre : python sync.py argument1 argument2 etc.
(La fonction main -de sync.py- est chargée dans l'environnement du shell lorsque tu exécutes le script)
Est-ce adapté à ton projet ?
Je dirais que ça dépend de ce que tu veux faire et peux faire :
- en fait il ne s'agit pas exactement d'une synchronisation. Il y a un dossier "maître", celui que tu utilises couramment, et un dossier "esclave", qui conserve les fichiers qui sont passés par le dossier maître. C'est pour cette raison qu'un fichier supprimé dans le dossier maître ne le sera pas dans le dossier esclave. L'esclave est donc tjrs plus gros que le maître.
- je ne sais pas dans quelle mesure tu peux appliquer le prgm à ton cas. Je l'avais plutôt prévu pour un ordi ayant 2 disques durs ou plus. Cela fonctionnera si par un moyen qq tu arrives à partager le dossier à copier avec l'ordinateur de destination. Si tu y arrives, dis-moi comment ! :)
ça répond ?
A bientôt
6 mai 2009 à 14:32
Je débute tout juste dans Python, et je n'arrive pas à exécuter ton script... Je voulais le lancer sans utiliser les fichiers .conf car je les crois inadaptés dans mon cas. Je souhaite en effet réaliser une synchronisation entre 2 postes dont un en Linux et l'autre en Win XP (et je pensais plutôt utiliser rsync pour le côté Linux...)
Est-ce que ta solution pourrait fonctionner ? si oui, comment je lance ton script, à partir du shell python ?
Merci et désolé pour ces questions au ras des pâquerettes...
22 avril 2009 à 02:15