python支持中文路径_打开python遍历中文目录得到的文件路径报错
各位朋友們好,我是一名python新手,現(xiàn)在遇到一個(gè)問(wèn)題,懇請(qǐng)各位朋友們能指點(diǎn)一下我。
我的環(huán)境是:ubuntu14.04系統(tǒng),python2.7
用python遍歷一個(gè)目錄,目錄層次結(jié)構(gòu)如下:
這是主目錄: /home/chaoma/superboard/mydata/input/production
主目錄下的目錄層次結(jié)構(gòu)如下
--超級(jí)畫板教學(xué)資源_全處理_772
-- Z+Z資源庫(kù)
--初中數(shù)學(xué)資源庫(kù)
--1有理數(shù)
---1.1數(shù)的分類
-- 0.mp4
-- name.txt
……
--2一元一次方程
…..
--動(dòng)態(tài)解析高考數(shù)學(xué)綜合題
--第一章基本函數(shù)
--第四節(jié)
--06福建理21
--name.txt
--0.mp4
--拓展練習(xí)4.1
….
--第五節(jié)
……
--第二章三角函數(shù)
…….
……
--學(xué)生作品集合_全處理_52
………
我想實(shí)現(xiàn)的功能:找到所有含有0.mp4文件的父目錄,并讀取該父目錄下面的name.txt文件
因此我寫了以下的遍歷函數(shù)來(lái)實(shí)現(xiàn)這一功能:
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)
#這邊返回的應(yīng)該是包含視頻文件的父目錄,也就是學(xué)生作品目錄
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")
#截取出路徑中的文件名作為需要的內(nèi)容,并寫入文件
fout.write(os.path.split(path)[1])
fout.close()
main()
但是執(zhí)行之后卻報(bào)錯(cuò)了,報(bào)錯(cuò)如下:
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'
打印這個(gè)報(bào)錯(cuò)的路徑得到:
/home/chaoma/superboard/mydata/input/production/超級(jí)畫板教學(xué)資源_全處理_772/動(dòng)態(tài)解析高考數(shù)學(xué)綜合題/第一章基本函數(shù)/第四節(jié)/06福建理21/name.txt
這個(gè)文件路徑是存在的卻報(bào)錯(cuò),不知道為什么。
懇請(qǐng)各位朋友們能指點(diǎn)我一下,十分感謝。
總結(jié)
以上是生活随笔為你收集整理的python支持中文路径_打开python遍历中文目录得到的文件路径报错的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux部署python web项目
- 下一篇: 写出python字符串三种常用的函数或方