Unicode error.

162 views
Skip to first unread message

Roberto Guilherme Gomes

unread,
Oct 4, 2015, 12:14:50 AM10/4/15
to python...@googlegroups.com
Boa noite senhores.

Estou voltando a trabalhar com Python, justamente por estarem surgindo necessidades da criação de aplicações que me ajudem na automatização de tarefas simples. Diante destas demandas hoje sentei para desenvolver uma aplicação que faça a leitura de linhas dentro de um arquivo e este arquivo pode estar em pastas diferenciadas dependendo da empresa que a utilizará, porém, quando tento executar meu programa, a seguinte mensagem é retornada:

C:\Python34\python.exe "C:/Users/Roberto/Dropbox/Projetos Python/etapa1.py"
  File "C:/Users/Roberto/Dropbox/Projetos Python/etapa1.py", line 5
    caminho = 'C:\Users\Roberto\Dropbox\Projetos\Python'
             ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Process finished with exit code 1



Trecho do código:

# coding=utf-8
import os

caminho = 'C:\Users\Roberto\Dropbox\Projetos\Python'
os.chdir(caminho)

Li que isto ocorre porque o Python interpreta o "\U" como se fosse uma string unicode, porém, não consegui identificar formas para que a execução ocorresse. Achei alternativas que seriam a de duplicar as "\\" ou colocar o "r" antes de declarar o caminho na variável, mas estas alternativas não funcionaram como deveria.

Alguém poderia me indicar alguma forma mais correta de trabalhar com caminhos de pastas? Estou pulando alguma etapa para inserir o caminho, como por exemplo ter que fazer alguma conversão?

Obrigado.


Abraços.

Igor dos Santos Montagner

unread,
Oct 5, 2015, 5:33:58 AM10/5/15
to Python Brasil
Use a outra barra: "/". Funciona igual no Windows e não vai dar este pau. Como alternativa você pode usar a função os.path.join[1],que coloca as barras corretas para você.

[1] https://docs.python.org/2/library/os.path.html#os.path.join

Alex

unread,
Oct 5, 2015, 12:18:57 PM10/5/15
to Python Brasil
Você esta usando o Windows, o correto seria usar barra dupla

caminho = 'C:\\Users\\Roberto\\Dropbox\\Projetos\\Python'

Ou o prefixo r""

caminho = r'C:\Users\Roberto\Dropbox\Projetos\Python'

Roberto Guilherme Gomes

unread,
Oct 5, 2015, 1:18:14 PM10/5/15
to python...@googlegroups.com

Boa tarde pessoal.

Obrigado pelo auxílio.
O procedimento de inverter a barra funcionou.

Abraços.
Roberto Guilherme Gomes

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Renzo Nuccitelli

unread,
Oct 5, 2015, 9:01:29 PM10/5/15
to python...@googlegroups.com
Esse código só vai funcionar na sua maquina. Para evitar isso, recomendo dar uma estudada no join[0]. Também ajuda saber como usar o dirname junto com __file__ para calulcar paths relativos [1]. Utilizo muito isso para o código funfar em qualquer comp/SO [2]




Abs,
--
Renzo Nuccitelli

Eu leio email somente uma vez por dia. Se o assunto for urgente, me ligue.


Fabio C. Barrionuevo da Luz

unread,
Oct 5, 2015, 9:15:47 PM10/5/15
to python...@googlegroups.com
a partir do Python3.4 também há a pathlib https://docs.python.org/3/library/pathlib.html
Fábio C. Barrionuevo da Luz
Acadêmico de Sistemas de Informação na Faculdade Católica do Tocantins - FACTO
Palmas - Tocantins - Brasil - América do Sul


Blog colaborativo sobre Python e tecnologias Relacionadas, mantido totalmente no https://github.com/pythonclub/pythonclub.github.io .

Todos são livres para publicar. É só fazer fork, escrever sua postagem e mandar o pull-request. Leia mais sobre como publicar em README.md e contributing.md.
Regra básica de postagem:
"Você" acha interessante? É útil para "você"? Pode ser utilizado com Python ou é útil para quem usa Python? Está esperando o que? Publica logo, que estou louco para ler...

Reply all
Reply to author
Forward
0 new messages