gpt4 book ai didi

Python 错误 : FileNotFoundError: [Errno 2] No such file or directory

转载 作者:行者123 更新时间:2023-11-28 20:59:14 25 4
gpt4 key购买 nike

我试图从文件夹中打开文件并读取它,但它没有找到它。我正在使用 Python3

这是我的代码:

import os
import glob

prefix_path = "C:/Users/mpotd/Documents/GitHub/Python-Sample-
codes/Mayur_Python_code/Question/wx_data/"
target_path = open('MissingPrcpData.txt', 'w')
file_array = [os.path.abspath(f) for f in os.listdir(prefix_path) if
f.endswith('.txt')]
file_array.sort() # file is sorted list

for f_obj in range(len(file_array)):
file = os.path.abspath(file_array[f_obj])
join_file = os.path.join(prefix_path, file) #whole file path

for filename in file_array:
log = open(filename, 'r')#<---- Error is here

错误:FileNotFoundError:[Errno 2] 没有这样的文件或目录:'USC00110072.txt'

最佳答案

您没有为 open() 提供文件的完整路径,只是它的名称 - 一个相对路径。

非绝对路径指定相对于当前的位置 working directory (CWD,参见 os.getcwd)。

您必须将 os.path.join() 更正到它的目录路径,或者将 os.chdir() 更正到文件所在的目录。

此外,请记住 os.path.abspath()不能仅通过文件名推断出文件的完整路径。如果给定路径是相对路径,它只会在其输入前加上当前工作目录的路径。

看起来您忘记修改 file_array 列表。要解决此问题,请将第一个循环更改为:

file_array = [os.path.join(prefix_path, name) for name in file_array]

让我重申一下。

代码中的这一行:

file_array = [os.path.abspath(f) for f in os.listdir(prefix_path) if f.endswith('.txt')]

错了。它不会为您提供包含正确绝对路径的列表。你应该做的是:

import os
import glob

prefix_path = ("C:/Users/mpotd/Documents/GitHub/Python-Sample-"
"codes/Mayur_Python_code/Question/wx_data/")
target_path = open('MissingPrcpData.txt', 'w')
file_array = [f for f in os.listdir(prefix_path) if f.endswith('.txt')]
file_array.sort() # file is sorted list

file_array = [os.path.join(prefix_path, name) for name in file_array]

for filename in file_array:
log = open(filename, 'r')

关于Python 错误 : FileNotFoundError: [Errno 2] No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50011733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com