python os.listdir()乱码解决方案
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
计算机一般来说是需要定期的清理,系统的内存不能无限延伸,同时有一些不需要的文件也可以得以清除掉。有些人会使用os.remove来进行文件的清楚,从而导致一些错误的出现,可以说这是对于os.remove的用法还没有熟练掌握。下面我们就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使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警