Python2 / Windows7:打开包含德语变音符号的文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python2 / Windows7:打开包含德语变音符号的文件名相关的知识,希望对你有一定的参考价值。

我正在尝试打开一个文件,该文件的文件名是通过在附加ttk.EntryTkinter.StringVar中输入来创建的。

如果我通过在另一个条目中键入相同的文件名来再次尝试open()文件,如果我使用德语'Umlaute'则会失败。

我从utf-8.get()-Method获得了一个StringVar编码的字符串。

当我列出当前工作目录中的文件时,它们不是utf-8编码的。 (我正在使用Windows 7!)

怎么处理?

答案
# -*- coding: utf-8 -*-

import Tkinter as tk
import ttk
import sys
import os
from pprint import pprint
import pickle


class TestApp(tk.Tk):

    def __init__(self, *args, **kwargs):

        tk.Tk.__init__(self, *args, **kwargs)

        self.varFilename = tk.StringVar()
        self.etyFilename = ttk.Entry(master=self, textvariable=self.varFilename)

        self.frmBtn = ttk.Frame(master=self)
        self.btnSave = ttk.Button(master=self.frmBtn, text='Save',
                                  command=self.save)
        self.btnOpen = ttk.Button(master=self.frmBtn, text='Open',
                                  command=self.openFile)

        self.etyFilename.grid(row=0, column=0, sticky=tk.EW, padx=3, pady=3)
        self.frmBtn.grid(row=1, column=0, sticky=tk.EW)
        self.btnSave.grid(row=0, column=0, sticky=tk.SE, padx=3, pady=3)
        self.btnOpen.grid(row=0, column=1, sticky=tk.SE, padx=3, pady=3)

        self.mainloop()

    def save(self, *args):
        someData = {'foo': 'bar'}

        filename = self.varFilename.get()

        try:
            with open(filename, 'wb') as f:
                pickle.dump(someData, f)

        except IOError, e:
            print e
            sys.exit(1)


    def openFile(self, *args):
        filename = self.varFilename.get()
        print filename

        print 'Files in cwd:'
        pprint(os.listdir(os.getcwd()))

        try:
            with open(filename, 'rb') as f:
                someData = pickle.load(f)
                print someData

        except IOError, e:
            print e
            sys.exit(1)


TestApp()

以上是关于Python2 / Windows7:打开包含德语变音符号的文件名的主要内容,如果未能解决你的问题,请参考以下文章

mingw g ++以错误的语言发出警告(德语而不是英语)

Windows7 下python3和python2同时 安装python3和python2

Windows7 --下python3和python2同时 安装python3和python2

无法使用C编译python包。错误2 - 无法打开包含文件:'alloca.h'?

无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

Windows7在Eclipse中配置Python2.7+OpenCV