【问题标题】:os.walk doesn't work correctly with unicode characters in pathos.walk 无法与路径中的 unicode 字符一起正常工作
【发布时间】:2014-09-23 10:56:56
【问题描述】:

我想浏览子目录可以在名称中包含非 ascii 字符的目录。在这种情况下,os.walk 将子目录视为文件。下面的例子:

我有目录 test 和子目录:asd, géocello

for root, dirs, files in os.walk(directory):
    print(root, dirs, files)

打印:

test ['asd'] ['geocello']
test\asd [] ['testfile.txt', '123.txt']

我在 Windows XP 下运行此代码。在 Linux 上一切都很好。 如何让 Python 正确处理路径?

【问题讨论】:

    标签: python windows python-2.7 unicode encoding


    【解决方案1】:

    directory 传入一个unicode 值:

    directory = u'C:/path/to/root'
    

    现在os.walk() 将始终使用unicode 路径,Windows 将正确处理géocello 文件夹的测试。

    请注意,在这种情况下,root 以及 dirsfiles 列表中的值也将是 Unicode。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-26
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 2016-03-20
      • 1970-01-01
      相关资源
      最近更新 更多