windows - [[Python]] Kodning og execfile

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at gøre noget sådan med python 2.4:


#!/usr/bin/python
# -*- coding: utf-8 -*-

afile = unicode('C:\國立國語院.py', 'UTF-8')
execfile(afile.encode("UTF-8",'replace'))


Og jeg modtager denne fejl:


IOError: [Errno 2] No such file or directory: 'C:\xefxbbxbfxe5x9cx8bxe7xabx8bxe5x9cx8bxe8xaax9exe9x99xa2.py'


Så mit spørgsmål er, hvordan kan jeg lave en execfile, hvis filen jeg vil exec har et navn med koreanske tegn?


Mange tak

Bedste reference


Jeg tror, ​​du skal bare kunne gøre execfile(afile) med et unicode-argument på Windows, men jeg kan ikke teste det.


Hvis ikke, få filsystemet kodning:


import sys
fsenc = sys.getfilesystemencoding()
execfile(afile.encode(fsenc))

Andre referencer 1


@Thomas K svar burde arbejde (det virker på Linux og virker ikke i Vin på Python2.4).


execfile() kunne emuleres ved hjælp af exec: [9] [10]


#!/usr/bin/python
# -*- coding: utf-8 -*-

exec open(ur'C:國立國語院.py').read()