python open找不到文件的原因_Python open()给出了IOError:Errno 2没有这样的文件或目录...

这篇博客探讨了Python中处理文件路径的常见误区,强调了相对路径是相对于当前工作目录而非脚本位置。文章提供了三种解决方案:使用绝对路径、生成相对于脚本的相对路径或改变当前工作目录。还提到了可能导致文件找不到的错误,如路径中的转义字符和Windows下忽略文件扩展名的问题。确保正确使用raw字符串和检查文件扩展名是关键。
摘要由CSDN通过智能技术生成

这是一个常见的误解,相对路径是相对于python脚本的位置,但这是不正确的 . 相对文件路径始终相对于当前工作目录,并且当前工作目录不必是python脚本的位置 .

你有三个选择:

Use an absolute path to open the file:

file = open(r'C:\path\to\your\file.yaml')

Generate the path to the file relative to your python script:

from pathlib import Path

script_location = Path(__file__).absolute().parent

file_location = script_location / 'file.yaml'

file = file_location.open()

Change the current working directory before opening the file:

import os

os.chdir(r'C:\path\to\your\file')

file = open('file.yaml')

其他可能导致“找不到文件”错误的常见错误包括:

Accidentally using escape sequences in a file path:

path = 'C:\Users\newton\file.yaml'

# Incorrect! The '\n' in 'Users\newton' is a line break character!

为避免出现此错误,请记住使用raw string literals作为文件路径:

path = r'C:\Users\newton\file.yaml'

# Correct!

Forgetting that Windows doesn't display file extensions:

由于Windows不显示已知的文件扩展名,因此有时当您认为您的文件名为 file.yaml 时,它实际上名为 file.yaml.yaml . 仔细检查文件的扩展名 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值