亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

d:\photo\a\ 下面有中文的目錄,和中文文件名的txt文件,報錯。

d:\photo\a\ 下面有中文的目錄,和中文文件名的txt文件,報錯。

慕桂英546537 2022-12-18 16:12:29
import osimport globdir=r"d:\\photo"os.chdir(dir)def txt(m):b=os.path.abspath(m)#a=b.decode('cp936').encode('gbk')os.chdir(b)list=glob.glob(u"*.txt")for i in list:return os.path.abspath(i)for i in os.listdir(dir):  print txt(i)報錯:d:\photo\a\1.txtTraceback (most recent call last):File "F:\pydev\d.py", line 17, in <module>print txt(i)File "F:\pydev\d.py", line 11, in txtos.chdir(b)WindowsError: [Error 2] : 'd:\\photo\\a\\\xd0\xc2\xbd\xa8\xce\xc4\xbc\xfe\xbc\xd0'
查看完整描述

2 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

文件名或目錄含中文時,需要encode('utf-8')
另外,腳本前面加上
# -*- coding:utf-8 -*-

查看完整回答
反對 回復 2022-12-21
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

經過我的本地測試,是沒有問題的。

不過你的程序有兩個地方是有問題的。

1】在得到list列表后,你使用的是return os.path.abspath(i)。這會讓你只能得到你輸出列表的第一個路徑值。比如你輸出列表為:

這樣你只能得到:

2】你的程序不具有遍歷photo下二級子目錄并輸出的能力。比如Photo文件夾下有個新建文件夾,新建文件夾下有一個新建文件夾,那么你只能輸出第一個新建文件夾下的所有文件。(前提是將return改成print)。

如下:

相信看我的輸出你就知道程序是沒有問題的,是可以輸出中文目錄的,你可以嘗試卸載重新安裝下python試試。另外我的python版本是2.7。



 


查看完整回答
反對 回復 2022-12-21
  • 2 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號