Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Roger That
Bonsoir ! 2) Celui-là, non : os.chdir(r'C:') #==> SyntaxError: EOL while scanning single-quoted string
"os.chrdir" n'a rien à voir là dedans. Une chaine (même raw !) ne peut pas se terminer par un nombre impair d'antislash. C'est de la faute au parser python
http://docs.python.org/ref/strings.html
Dans ce cas, je pense que tu devrais: - utiliser 'c:' si c'est la racine de ton lecteur - utiliser r'c:tatatititoto' (sans backslash à la fin) si il s'agit d'un répertoire
Bonsoir !
2) Celui-là, non : os.chdir(r'C:') #==> SyntaxError: EOL while
scanning single-quoted string
"os.chrdir" n'a rien à voir là dedans. Une chaine (même raw !) ne peut
pas se terminer par un nombre impair d'antislash. C'est de la faute au
parser python
http://docs.python.org/ref/strings.html
Dans ce cas, je pense que tu devrais:
- utiliser 'c:\' si c'est la racine de ton lecteur
- utiliser r'c:tatatititoto' (sans backslash à la fin) si il s'agit
d'un répertoire
Bonsoir ! 2) Celui-là, non : os.chdir(r'C:') #==> SyntaxError: EOL while scanning single-quoted string
"os.chrdir" n'a rien à voir là dedans. Une chaine (même raw !) ne peut pas se terminer par un nombre impair d'antislash. C'est de la faute au parser python
http://docs.python.org/ref/strings.html
Dans ce cas, je pense que tu devrais: - utiliser 'c:' si c'est la racine de ton lecteur - utiliser r'c:tatatititoto' (sans backslash à la fin) si il s'agit d'un répertoire
Do Re Mi chel La Si Do
Merci.
On en apprend tous les jours. Cette limitation des raw-strings est quand même gênante à l'usage. Enfin, on va faire avec...
Par exemple, je pense utiliser des choses du genre : os.chdir(r'C:''')
Encore merci, et bonne journée.
Michel Claveau
Merci.
On en apprend tous les jours. Cette limitation des raw-strings est quand
même gênante à l'usage.
Enfin, on va faire avec...
Par exemple, je pense utiliser des choses du genre : os.chdir(r'C:''\')
On en apprend tous les jours. Cette limitation des raw-strings est quand même gênante à l'usage. Enfin, on va faire avec...
Par exemple, je pense utiliser des choses du genre : os.chdir(r'C:''')
Encore merci, et bonne journée.
Michel Claveau
Sébastien Kirche
Le 25 Apr 2005, Roger That vraute :
"os.chrdir" n'a rien à voir là dedans. Une chaine (même raw !) ne peut pas se terminer par un nombre impair d'antislash. C'est de la faute au parser python
D'un autre côté, le délimiteur de path standard dans Python n'est pas / même sous win ?
Le 25 Apr 2005, Do Re Mi chel La Si Do s'est exprimé ainsi :
Par exemple, je pense utiliser des choses du genre : os.chdir(r'C:''')
Dans ce cas, en utilisant / au lieu de le problème avec les raw strings disparaît, non ?
-- Sébastien Kirche
Le 25 Apr 2005, Roger That vraute :
"os.chrdir" n'a rien à voir là dedans. Une chaine (même raw !) ne peut
pas se terminer par un nombre impair d'antislash. C'est de la faute au
parser python
D'un autre côté, le délimiteur de path standard dans Python n'est pas /
même sous win ?
Le 25 Apr 2005, Do Re Mi chel La Si Do s'est exprimé ainsi :
Par exemple, je pense utiliser des choses du genre :
os.chdir(r'C:''\')
Dans ce cas, en utilisant / au lieu de le problème avec les raw
strings disparaît, non ?
"os.chrdir" n'a rien à voir là dedans. Une chaine (même raw !) ne peut pas se terminer par un nombre impair d'antislash. C'est de la faute au parser python
D'un autre côté, le délimiteur de path standard dans Python n'est pas / même sous win ?
Le 25 Apr 2005, Do Re Mi chel La Si Do s'est exprimé ainsi :
Par exemple, je pense utiliser des choses du genre : os.chdir(r'C:''')
Dans ce cas, en utilisant / au lieu de le problème avec les raw strings disparaît, non ?
-- Sébastien Kirche
sean_mcilroy
"Do Re Mi chel La Si Do" wrote in message news:<426c7d62$0$808$...
Bonsoir !
J'ai un petit problème (Win-XP ; Python 2.4)
1) Ce code marche : os.chdir('C:') 2) Celui-là, non : os.chdir(r'C:') #==> SyntaxError: EOL while scanning single-quoted string 3) Celui-là, oui : os.chdir(r'C: ') #ya 1 espace après le
<< ' >> et << >> sont des "escape sequences"; alors
(dans le dernier cas, l'espacement empeche que le "" et le "'" forment ensemble une escape sequence)
HTH
Guillaume Bouchard
Roger That wrote:
- utiliser 'c:' si c'est la racine de ton lecteur
Je dit sans doute une bétise, mais pourquoi ne pas utiliser les outils de os.path. J'ai pas regarder ce que cela donne sous Win, mais je sais que je code tous mes script avec os.path.join, os.path.curdir. Il doit surement y avoir une alternative pour spécifier la racine du disque.
Bien que le module path soit rudement mal fait AMHA (j'ai vu une class de gestion de path ou 'rep' / 'rep' fait tout tous seul, et c'est vraiment sympa), je pense qu'il faut l'utiliser dans une but de standardisation et de portabilitée.
-- Guillaume.
Roger That wrote:
- utiliser 'c:\' si c'est la racine de ton lecteur
Je dit sans doute une bétise, mais pourquoi ne pas utiliser les outils
de os.path. J'ai pas regarder ce que cela donne sous Win, mais je sais
que je code tous mes script avec os.path.join, os.path.curdir. Il doit
surement y avoir une alternative pour spécifier la racine du disque.
Bien que le module path soit rudement mal fait AMHA (j'ai vu une class
de gestion de path ou 'rep' / 'rep' fait tout tous seul, et c'est
vraiment sympa), je pense qu'il faut l'utiliser dans une but de
standardisation et de portabilitée.
Je dit sans doute une bétise, mais pourquoi ne pas utiliser les outils de os.path. J'ai pas regarder ce que cela donne sous Win, mais je sais que je code tous mes script avec os.path.join, os.path.curdir. Il doit surement y avoir une alternative pour spécifier la racine du disque.
Bien que le module path soit rudement mal fait AMHA (j'ai vu une class de gestion de path ou 'rep' / 'rep' fait tout tous seul, et c'est vraiment sympa), je pense qu'il faut l'utiliser dans une but de standardisation et de portabilitée.
-- Guillaume.
Do Re Mi chel La Si Do
Bonsoir !
Je ne suis pas d'accord. Considérez : print r"ABC'123" # qui donne : ABC'123 Le couple ' n'est donc pas "échappés", dans les raw strings.
Par contre, l'explication de Roger That est juste : c'est marqué dans la doc, visible par le lien qu'il a donné ("a raw string cannot end in a single backslash").
@-salutations -- Michel Claveau
Bonsoir !
Je ne suis pas d'accord. Considérez :
print r"ABC'123" # qui donne : ABC'123
Le couple ' n'est donc pas "échappés", dans les raw strings.
Par contre, l'explication de Roger That est juste : c'est marqué dans la
doc, visible par le lien qu'il a donné ("a raw string cannot end in a
single backslash").
Je ne suis pas d'accord. Considérez : print r"ABC'123" # qui donne : ABC'123 Le couple ' n'est donc pas "échappés", dans les raw strings.
Par contre, l'explication de Roger That est juste : c'est marqué dans la doc, visible par le lien qu'il a donné ("a raw string cannot end in a single backslash").
@-salutations -- Michel Claveau
Do Re Mi chel La Si Do
Bonsoir !
Le problème vient du fait que l'information vient d'un fichier de configuration, modifiable par l'utilisateur. En conséquence, il peut y avoir autre chose que "C:" ; et le problème se pose de manière similaire en UNC (par exemple Serveurdata). Mais, bon, ,tout ça est maintenant réglé (pour moi).
Quand au module os.path, je suis assez d'accord. Il existe bien un module glob, mais, bien que fonctionnant sous windows, il est d'abord prévu pour unix, et à quelques petits problèmes avec windows. Du coup, comme beaucoup de monde (je suppose), j'ai adapté quelques fonctions ou classes.
@-salutations -- Michel Claveau
Bonsoir !
Le problème vient du fait que l'information vient d'un fichier de
configuration, modifiable par l'utilisateur.
En conséquence, il peut y avoir autre chose que "C:" ; et le problème se
pose de manière similaire en UNC (par exemple \Serveurdata). Mais, bon,
,tout ça est maintenant réglé (pour moi).
Quand au module os.path, je suis assez d'accord. Il existe bien un module
glob, mais, bien que fonctionnant sous windows, il est d'abord prévu pour
unix, et à quelques petits problèmes avec windows. Du coup, comme beaucoup
de monde (je suppose), j'ai adapté quelques fonctions ou classes.
Le problème vient du fait que l'information vient d'un fichier de configuration, modifiable par l'utilisateur. En conséquence, il peut y avoir autre chose que "C:" ; et le problème se pose de manière similaire en UNC (par exemple Serveurdata). Mais, bon, ,tout ça est maintenant réglé (pour moi).
Quand au module os.path, je suis assez d'accord. Il existe bien un module glob, mais, bien que fonctionnant sous windows, il est d'abord prévu pour unix, et à quelques petits problèmes avec windows. Du coup, comme beaucoup de monde (je suppose), j'ai adapté quelques fonctions ou classes.
@-salutations -- Michel Claveau
sean_mcilroy
c'est vrai. j'avais completement tort. je m'excuse.
c'est vrai. j'avais completement tort. je m'excuse.
c'est vrai. j'avais completement tort. je m'excuse.
Do Re Mi chel La Si Do
Re
En fait, vous aviez raison, pour les strings normaux. Les raw strings sont juste gérés un peu différemment.
Au départ je n'avais pas de tentation spéciale à utiliser les raw strings. Mais, comme j'appelle souvent Python depuis un langage qui utilise, lui aussi, "" comme caractère d'échappement, pour un simple "C:toto", je suis obligé d'utiliser "C:\toto\", qui est un peu lourd...
Bonne journée
Michel Claveau
Re
En fait, vous aviez raison, pour les strings normaux. Les raw strings sont
juste gérés un peu différemment.
Au départ je n'avais pas de tentation spéciale à utiliser les raw strings.
Mais, comme j'appelle souvent Python depuis un langage qui utilise, lui
aussi, "" comme caractère d'échappement, pour un simple "C:toto", je suis
obligé d'utiliser "C:\\toto\\", qui est un peu lourd...
En fait, vous aviez raison, pour les strings normaux. Les raw strings sont juste gérés un peu différemment.
Au départ je n'avais pas de tentation spéciale à utiliser les raw strings. Mais, comme j'appelle souvent Python depuis un langage qui utilise, lui aussi, "" comme caractère d'échappement, pour un simple "C:toto", je suis obligé d'utiliser "C:\toto\", qui est un peu lourd...