Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > problem with special characters in filename

Reply
Thread Tools

problem with special characters in filename

 
 
fizzotti@gmail.com
Guest
Posts: n/a
 
      01-23-2009
using:

Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2


Hello

I have two files (let's assume they are all in the same directory):

1) "a.dat" containing the single line "Sébastien.dat"
2) "Sébastien.dat" containing arbitraty data

I want to:

open "a.dat"
read in the single line ("Sébastien.dat")
copy the file described by the single line ("Sébastien.dat") to
another location with name "b.dat"

This is what I have started with:

import shutil

file = open('a.dat','r') #opens file for reading
for line in file:
print line
old_name = line[0:len(line)-1] #gets rid of "\n" suffix
print old_name
shutil.copy(old_name, 'b.dat') #copies file

However I get the following error:
IOError: [Errno 2] No such file or directory: 'S\xc3\xa9bastien.dat'

I'm sure this has something to do with encoding and decoding UTF-8 and
Unicode or something like that, but everything I've tried has yet to
produce any favourable results.

Thanks
Dino
 
Reply With Quote
 
 
 
 
Diez B. Roggisch
Guest
Posts: n/a
 
      01-23-2009
http://www.velocityreviews.com/forums/(E-Mail Removed) schrieb:
> using:
>
> Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
> [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
>
>
> Hello
>
> I have two files (let's assume they are all in the same directory):
>
> 1) "a.dat" containing the single line "Sébastien.dat"
> 2) "Sébastien.dat" containing arbitraty data
>
> I want to:
>
> open "a.dat"
> read in the single line ("Sébastien.dat")
> copy the file described by the single line ("Sébastien.dat") to
> another location with name "b.dat"
>
> This is what I have started with:
>
> import shutil
>
> file = open('a.dat','r') #opens file for reading
> for line in file:
> print line
> old_name = line[0:len(line)-1] #gets rid of "\n" suffix
> print old_name
> shutil.copy(old_name, 'b.dat') #copies file
>
> However I get the following error:
> IOError: [Errno 2] No such file or directory: 'S\xc3\xa9bastien.dat'
>
> I'm sure this has something to do with encoding and decoding UTF-8 and
> Unicode or something like that, but everything I've tried has yet to
> produce any favourable results.


You need to know two things:

- what encoding has the a.dat-content?

- what encoding uses your filesystem?

Then you need to decode the file's contents with the first one, and then
encode it with the second one.

The above at least applies to Linux. I'm not sure about windows - I
*know* they have wide-char/unicode support, but I'm not sure how exactly
that is exposed via the python file apis

Diez
 
Reply With Quote
 
 
 
 
Diez B. Roggisch
Guest
Posts: n/a
 
      01-23-2009
>
> The above at least applies to Linux. I'm not sure about windows - I
> *know* they have wide-char/unicode support, but I'm not sure how exactly
> that is exposed via the python file apis


Just found this:

http://www.amk.ca/python/howto/unicode


there is a seciton about filenames and OSes in there, you should read it.

Diez
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Counting utf-8 characters -special characters majna Javascript 4 09-19-2007 01:53 PM
Remove only special characters and junk characters from a file rvino Perl 0 08-14-2007 07:23 AM
Re: Meta-Characters, Special Characters xah@xahlee.org Java 2 05-31-2007 09:25 AM
How to convert HTML special characters to the real characters with a Java script Stefan Mueller HTML 3 07-23-2006 10:09 PM
apache2/mod_jk/tomcat4 - downloading files with special characters in the filename Andreas Java 0 03-02-2004 02:42 PM



Advertisments