[Python-de] Re: os.startfile()

Matthias Huening mhuening at zedat.fu-berlin.de
Die Aug 10 15:25:20 CEST 2004


"Diez B. Roggisch" <deets at web.de> wrote in
news:200408101254.31892.deets at web.de: 

>> Kann es sein, dass os.startfile() nicht mit Unicode- bzw.
>> UTF8-Filenamen umgehen kann?
> 
> Wie versuchst du das denn? Kannst du dir mit os.listdir() mal die
> Datei geben und dann als argument fuer startfile nutzen? 

WinXP, Python 2.3.4
Über tkFileDialog einen Namen holen, der Zeichen enthält, die es in 
Latin-1 nicht gibt. So wie hier:

>>> import tkFileDialog
>>> import os
>>> f = tkFileDialog.askopenfilename()
>>> type(f)
<type 'unicode'>
>>> os.startfile(f)

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in -toplevel-
    os.startfile(f)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 
14-16: ordinal not in range(128)
>>> 

Schöne Grüße, Matthias