python os.listdir()亂碼解決方案

計算機一般來說是需要定期的清理,系統的內存不能無限延伸,同時有一些不需要的文件也可以得以清除掉。有些人會使用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()解決亂碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: