python支持中文路径_打开python遍历中文目录得到的文件路径报错
各位朋友們好,我是一名python新手,現在遇到一個問題,懇請各位朋友們能指點一下我。
我的環境是:ubuntu14.04系統,python2.7
用python遍歷一個目錄,目錄層次結構如下:
這是主目錄: /home/chaoma/superboard/mydata/input/production
主目錄下的目錄層次結構如下
--超級畫板教學資源_全處理_772
-- Z+Z資源庫
--初中數學資源庫
--1有理數
---1.1數的分類
-- 0.mp4
-- name.txt
……
--2一元一次方程
…..
--動態解析高考數學綜合題
--第一章基本函數
--第四節
--06福建理21
--name.txt
--0.mp4
--拓展練習4.1
….
--第五節
……
--第二章三角函數
…….
……
--學生作品集合_全處理_52
………
我想實現的功能:找到所有含有0.mp4文件的父目錄,并讀取該父目錄下面的name.txt文件
因此我寫了以下的遍歷函數來實現這一功能:
def visitDir_walk(path , sFileSuffix):
codedetect = chardet.detect(path)["encoding"]
path = unicode(path , codedetect)
fileNames = list()
for root,dirs,files in os.walk(path):
for i in range(0 , len(files)):
file = files[i]
if file.endswith(sFileSuffix):
sFileName = os.path.join(root , file)
#這邊返回的應該是包含視頻文件的父目錄,也就是學生作品目錄
realFileName = os.path.split(os.path.abspath(sFileName))[0]
fileNames.append( unicode(realFileName,”gbk”)
)
return
fileNames
def main():
sProductionInputPath
= “/home/chaoma/superboard/mydata/input/production”
dir_production_list = visitDir_walk(sProductionInputPath
, ".mp4")
#拼接name.txt的路徑
for dir in dir_production_list:
nameFile = os.path.join(dir , "name.txt")
fout = codecs.open(nameFile , "w" , "utf-8")
#截取出路徑中的文件名作為需要的內容,并寫入文件
fout.write(os.path.split(path)[1])
fout.close()
main()
但是執行之后卻報錯了,報錯如下:
fout = codecs.open(nameFile , "w" , "utf-8")
File "/usr/lib/python2.7/codecs.py", line 878, in open
file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 2] No such file or
directory:
u'/home/chaoma/superboard/mydata/input/production/\u8d85\u7ea7\u753b\u677f\u6559\u5b66\u8d44\u6e90_\u5168\u5904\u7406_772/\u52a8\u6001\u89e3\u6790\u9ad8\u8003\u6570\u5b66\u7efc\u5408\u9898/\u7b2c\u4e00\u7ae0\u57fa\u672c\u51fd\u6570/\u7b2c\u56db\u8282/06\u798f\u5efa\u740621/name.txt'
打印這個報錯的路徑得到:
/home/chaoma/superboard/mydata/input/production/超級畫板教學資源_全處理_772/動態解析高考數學綜合題/第一章基本函數/第四節/06福建理21/name.txt
這個文件路徑是存在的卻報錯,不知道為什么。
懇請各位朋友們能指點我一下,十分感謝。
總結
以上是生活随笔為你收集整理的python支持中文路径_打开python遍历中文目录得到的文件路径报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux部署python web项目
- 下一篇: websocket python爬虫_p