鱼C论坛

 找回密码
 立即注册
查看: 133|回复: 5

[已解决]python,打开文件错误

[复制链接]
发表于 2024-9-4 13:31:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大神们,求助
我有这个文件,为啥一直报错呀
f = open(r"C:\Users\24574\AppData\Local\Programs\Python\Python312\zwj.py")
Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    f = open(r"C:\Users\24574\AppData\Local\Programs\Python\Python312\zwj.py")
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\24574\\AppData\\Local\\Programs\\Python\\Python312\\zwj.py'

最佳答案
2024-9-4 17:01:25
本帖最后由 jackz007 于 2024-9-4 17:44 编辑

      你确信这个文件
"C:\Users\24574\AppData\Local\Programs\Python\Python312\zwj.py"
      它确实存在?如果 "zwj.py" 是使用 Windows 记事本编写的 Python 代码文件,怀疑其真实文件名很可能是 "zwj.py.txt",只是由于 Windows 资源管理器开启了 "省略已知类型文件扩展名" 的选项,所以,在 Windows 资源管理器中看不到扩展名 ".txt"。
      运行这个代码,看看所有文件的实际文件名:
import os , os . path

d = r"C:\Users\24574\AppData\Local\Programs\Python\Python312"
for x in os . listdir(d) :
    if os . path . isfile(x):
        print(d + '\\' + x)
input('按下回车键 ...')
    "zwj.py" 这个文件真的在里面吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-9-4 13:38:13 | 显示全部楼层
打开文件时报错 `FileNotFoundError` 通常是因为指定的路径或文件名不正确。以下是可能的原因和解决方法:

1. **路径错误**: 确保文件路径是正确的。仔细检查路径中的每一个目录和文件名,确认拼写无误。

2. **文件不存在**: 确认文件 `zwj.py` 确实在指定的目录中。你可以手动导航到这个目录查看文件是否存在。

3. **权限问题**: 确保你有权限访问该目录及文件。如果不确定,可以尝试以管理员身份运行Python。

4. **转义字符**: 虽然你使用了原始字符串前缀 `r`,以避免转义问题,但确认路径中的反斜杠数量还是一致的。

确保以上几点都没有问题后,再次尝试运行代码。如果依然出现问题,请结合其他上下文信息(例如,在不同编程环境中测试)进一步排查原因。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-4 17:01:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-9-4 17:44 编辑

      你确信这个文件
"C:\Users\24574\AppData\Local\Programs\Python\Python312\zwj.py"
      它确实存在?如果 "zwj.py" 是使用 Windows 记事本编写的 Python 代码文件,怀疑其真实文件名很可能是 "zwj.py.txt",只是由于 Windows 资源管理器开启了 "省略已知类型文件扩展名" 的选项,所以,在 Windows 资源管理器中看不到扩展名 ".txt"。
      运行这个代码,看看所有文件的实际文件名:
import os , os . path

d = r"C:\Users\24574\AppData\Local\Programs\Python\Python312"
for x in os . listdir(d) :
    if os . path . isfile(x):
        print(d + '\\' + x)
input('按下回车键 ...')
    "zwj.py" 这个文件真的在里面吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-5 11:33:35 | 显示全部楼层
jackz007 发表于 2024-9-4 17:01
你确信这个文件

      它确实存在?如果 "zwj.py" 是使用 Windows 记事本编写的 Python 代码文件 ...

赞赞赞,按照您的方法查询发现,文件名确实是zwj.py.cn
不过我想读取文件,出现这个错误又是为啥呀
文件的内容是"小甲鱼的课程很赞"
f.read()
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 16: illegal multibyte sequence
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-5 12:09:10 | 显示全部楼层
本帖最后由 jackz007 于 2024-9-5 12:16 编辑

        因为这个文件采用的是 "UTF-8" 编码,改写这一句:
f = open(r"C:\Users\24574\AppData\Local\Programs\Python\Python312\zwj.py.cn" , encoding = 'UTF-8')
        当然,你也可以用 Windows 记事本打开这个文件 "zwj.py.cn",另存一下,保存的时候,文件编码选项一定要选 "ANSI",这样,就不用改那一行 Python 代码了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-5 13:27:36 | 显示全部楼层
jackz007 发表于 2024-9-5 12:09
因为这个文件采用的是 "UTF-8" 编码,改写这一句:

        当然,你也可以用 Windows 记事本打 ...

太吊了,谢谢大佬提点
问题都解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-17 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表