Python os.listdir() 中文路径乱码解决方案
本文介绍 Python 中 os.listdir() 函数在处理包含中文文件或文件夹的路径时可能出现的乱码问题。重点解析 Python 2 与 Python 3 在编码处理上的差异,指出 Python 3 默认 UTF-8 编码无需额外转码,而 Python 2 需使用 unicode() 进行转换,并提供具体代码示例与注意事项。
计算机运行过程中,系统内存资源有限,定期清理不必要的文件是必要的维护操作。部分开发者在使用 os.remove() 删除文件时,可能因未熟练掌握其用法而引发错误。本文将详细阐述相关函数的使用细节及注意事项。
1.语法
os.listdir(path)
2.参数
path – 目标目录的路径,即路径的字符串表示。
3.返回值
指定路径下,文件和文件夹名字的列表。
4.实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
# 打开文件
path = "/var/www/html/"
dirs = os.listdir( path )
# 输出所有文件和文件夹
for file in dirs:
print(file)
如果目录下有中文目录,打印时遇到乱码解决方法:
cPath = os.getcwd()
# 如果目录名字为中文 需要转码处理
uPath = unicode(cPath,'utf-8')
for fileName in os.listdir(uPath) :
print(fileName)
python listdir() 中文路径 中文文件夹 乱码 解决方法
listdir(path)返回的结果的编码似乎和我们提供的 path 参数的编码有关:
import os
path = 'd:/test'
try:
path = unicode(path, 'utf-8') # 经过编码处理
except:
pass # python3 已经移除 unicode,而且默认是 utf8 编码,所以不用转
os.listdir(path)
这样,就算 path 下有中文的文件和文件夹,我们获得的结果是 utf-8 的编码
注意:在 python2 中需要经过编码处理,但是在python3中不需要,而且python 3 已经没有 unicode() 方法
到此这篇关于python os.listdir()乱码解决方案的文章就介绍到这了,更多相关python os.listdir()解决乱码内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









