、初七 发表于 2020-4-27 00:08:29

open函数报错

用win10操作没有任何问题,回家想做作业换了mac打开文件就一直报错,刚开始以为中文路径的问题,改了系统语言还是依然报错。百度了几个小时依然不行,试了改encoding等方法均无效,求大神帮忙。谢谢
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
    f = open('Macintosh HD⁩/Users⁩/tengda⁩/Downloads/OpenMe.mp3⁩')
FileNotFoundError: No such file or directory: 'Macintosh HD\u2069/Users\u2069/tengda\u2069/Downloads/OpenMe.mp3\u2069'

xiangjianshinan 发表于 2020-4-27 00:08:30

请确认:OpenMe.mp3 文件是否存在?

f = open(r'Macintosh HD/Users/tengda/Downloads/OpenMe.mp3')
奇怪,不加r应该也没有差别的呀?

请看下:
import os

print(os.path.exists('Macintosh HD/Users/tengda/Downloads/OpenMe.mp3'))

、初七 发表于 2020-4-27 00:10:13

本帖最后由 、初七 于 2020-4-28 00:02 编辑

奇怪,发帖里的代码居然乱码。python版本是3.8.2
我在idle里的代码是:
f = open('Macintosh HD/Users/tengda/Downloads/OpenMe.mp3')

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
解决了,直接把文件丢进terminal里就显示正确的路径,其实就是没有'Macintosh HD‘这个东西直接从\users开始

sunrise085 发表于 2020-4-27 00:29:50

这应该是文件路径的问题吧。,显示的错误是未找到文件。

zltzlt 发表于 2020-4-27 08:12:52

这样试试:

f = open('Macintosh HD/Users/tengda/Downloads/OpenMe.mp3')

txxcat 发表于 2020-4-27 08:21:11

\u2069是报错的一部分还是乱码?

hrp 发表于 2020-4-27 08:24:49

路径重新打上去,不要复制

、初七 发表于 2020-4-27 10:38:33

本帖最后由 、初七 于 2020-4-27 10:43 编辑

xiangjianshinan 发表于 2020-4-27 01:01
请确认:OpenMe.mp3 文件是否存在?

f = open(r'Macintosh HD/Users/tengda/Downloads/OpenMe.mp3')


结果是false,奇怪了
我从文件信息查的路径确实是
Macintosh HD/Users/tengda/Downloads/

、初七 发表于 2020-4-27 11:28:32

txxcat 发表于 2020-4-27 08:21
%u2069是报错的一部分还是乱码?

出现在报错的语句里,地址乱码了。我用r'',改utf-8也不行

txxcat 发表于 2020-4-27 11:52:46

、初七 发表于 2020-4-27 11:28
出现在报错的语句里,地址乱码了。我用r'',改utf-8也不行

在windwos复制文件属性的路径时碰到过加入不可见字符的情况,不知道mac下有没有这个问题,你试试手工输入路径看看。

jkluoling1992 发表于 2020-4-27 12:32:40

找到mp3文件,右键,找到显示简介,复制里面的路径,应该就可以了

fiberstudio 发表于 2020-4-27 12:52:08

使用path.normcase()规范一下路径吧

_2_ 发表于 2020-4-27 20:57:51

zltzlt 发表于 2020-4-27 08:12
这样试试:

可能是路径里有空格???不识别???

xiangjianshinan 发表于 2020-4-28 00:04:29

、初七 发表于 2020-4-27 00:10
奇怪,发帖里的代码居然乱码。python版本是3.8.2
我在idle里的代码是:
f = open('Macintosh HD/Users/te ...

学习啦!!!
页: [1]
查看完整版本: open函数报错