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