Python 2.7-使用非ascii字符比较列表
我试图比较列表a(umlauts)和b(文件路径)。列表a是UMLAUT的列表。列表b是文件路径的列表。我需要查看列表b中的哪些文件路径中有UMLAUT。我了解比较列表的基本python语法,但是UMLAUT造成了很大的麻烦——我在列表b中的路径上尝试的(encode()、decode()等)都不适合我。有人能对此提供一些见解吗?我们当然非常感谢您的任何反馈。到目前为止,我的代码见下文。如果我在最后添加一个for循环,它会将umlauts正确地打印到控制台,因此我不确定问题出在哪里Python 2.7-使用非ascii字符比较列表,python,list,utf-8,Python,List,Utf 8,我试图比较列表a(umlauts)和b(文件路径)。列表a是UMLAUT的列表。列表b是文件路径的列表。我需要查看列表b中的哪些文件路径中有UMLAUT。我了解比较列表的基本python语法,但是UMLAUT造成了很大的麻烦——我在列表b中的路径上尝试的(encode()、decode()等)都不适合我。有人能对此提供一些见解吗?我们当然非常感谢您的任何反馈。到目前为止,我的代码见下文。如果我在最后添加一个for循环,它会将umlauts正确地打印到控制台,因此我不确定问题出在哪里 # -*-
# -*- coding: utf-8 -*-
import os
def GetFilepaths(directory):
file_paths = []
for root, directories, files in os.walk(directory):
for filename in files:
filepath = os.path.join(root, filename)
file_paths.append(filepath)
return file_paths
umlauts = [u'Ä', u'Ü', u'Ö', u'ä', u'ö', u'ü']
filePathsList = GetFilepaths(r'C:\Scripts\Replace Characters\Umlauts')
for filepath in filePathsList:
print filepath
使用unicode作为传递给
os.walk
的目录名,即URC:\Scripts\Replace Characters\Umlauts'
可能重复的can't dour'C:\Scripts\Replace Characters\Umlauts
但u'C:\\Scripts\\Replace Characters\\Umlauts'
确实有效——感谢您的提示!