1
我有一個名爲「não.mp3」的文件,當我嘗試用pathlib打開它時,名稱轉換爲「nao.mp3」,因爲沒有這樣的文件在文件夾中,python返回錯誤:python3.5用latin1字符打開文件的名稱
>>> p = Path("D:/não.mp3")
>>> p
WindowsPath('D:/nao.mp3')
>>> p.exists()
False
>>> with p.open() as f: f.readline()
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\everton\AppData\Local\Programs\Python\Python35\lib\pathlib.py", line 1136, in open
opener=self._opener)
File "C:\Users\everton\AppData\Local\Programs\Python\Python35\lib\pathlib.py", line 992, in _opener
return self._accessor.open(self, flags, mode)
File "C:\Users\everton\AppData\Local\Programs\Python\Python35\lib\pathlib.py", line 371, in wrapped
return strfunc(str(pathobj), *args)
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\nao.mp3'
將字節對象轉換回字符串那麼,有沒有辦法讓我把列表a = [「não」,「ã」]並自動將代碼點傳遞到列表中,所以結果會是a = [「n \ u00e3o」,「\ u00e3」]? – user3927607
可以嘗試在循環中使用'str.replace('a','\ u00e3')'方法。 – perfect5th
我認爲這是行不通的,如果我在列表中有一個像「和」那樣的單詞,它會變成「\ u00e3nd」:(我試圖弄清楚如何處理它,一般來說,任何單詞都可以。 – user3927607