运维开发网

python os.listdir()乱码解决方案

运维开发网 https://www.qedev.com 2021-02-01 10:07 出处:网络 作者: 小妮浅浅
计算机一般来说是需要定期的清理,系统的内存不能无限延伸,同时有一些不需要的文件也可以得以清除掉。有些人会使用os.remove来进行文件的清楚,从而导致一些错误的出现,可以说这是对于os.remove的用法还没有熟练掌

计算机一般来说是需要定期的清理,系统的内存不能无限延伸,同时有一些不需要的文件也可以得以清除掉。有些人会使用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 os.listdir()乱码解决方案的文章就介绍到这了,更多相关python os.listdir()解决乱码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消