0

我尝试将路径放入列表中,并且一切正常,直到我得到特殊字符,例如äor ö。在字符串中,它们表示为字节,例如äis \xe4。如果我在终端中使用相同的 Python 脚本,即使列表中的路径包含这些字节而不是实际字母,我也会正确打印出所有路径。

这是我提取所有文件名的代码:

def read_files(path):
    """
    Read all files in folder specified by path
    :param path: Path to folder which contents will be read
    :return: List of all files in folder specified by path
    """
    files = []
    for f in listdir(path):
        if isfile(join(path, f)):
            files.append(make_unicode(join(path, f)))
    return files

def make_unicode(string):
    if type(string) != unicode:
        string = string.decode('utf-8')
    return string

从现在开始,我不知道该去哪里。我已经尝试了几乎所有可以从谷歌找到的东西。这比 Python 更像是一个 SikuliX 问题,因为 Python 代码在 SikuliX 之外工作得很好。

我使用 Python 2.7 和 SikuliX 1.1.1。

4

1 回答 1

0

所以我得到了这个。问题是,该read_files(path)函数后来再次被调用,当它path是带有标记为字节的特殊字符的 unicode 时,整个事情都坏了。我改变了我的代码,这个函数只被调用一次,然后我就可以使用特殊字符了。

于 2018-10-29T07:24:02.433 回答