FileNotFoundError 即使文件存在
FileNotFoundError even though file exist
尝试使用 wit open 打开文件时出现文件不存在的错误。
我正在尝试解析一些 txt 文件,在本地工作时它没有问题,但是当我尝试连接到网络文件夹时问题开始了。奇怪的是,它确实看到了文件,但说没有找到。
我指的路径是'//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*'(这个文件夹里全是txt文件。
但我仍然收到此错误:
FileNotFoundError:[Errno 2] 没有这样的文件或目录:'Console_log_01-01-2019_08-17-56.txt'
如您所见,它确实看到了所需的文件。
为了得到这个文件,我正在按照以下方式解析分割路径:
readFile = name.split("/")[9].split("\")[1]
因为如果我查看我的文件列表,我会按以下方式查看它们:
['//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-17-56.txt',
拆分后我得到:
Console_log_01-01-2019_08-17-56.txt
但它仍然说找不到文件。
def main():
lines =0
path = '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*'
files = glob.glob(path)
print ("files")
print ('\n')
print(files)
for name in glob.glob(path):
print (path)
readFile = name.split("/")[9].split("\")[1]
print(readFile)
with open(readFile,"r") as file:
lines = file.readlines()
print (lines)
main()
files
['//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-17-56.txt', '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-18-29.txt']
Traceback (most recent call last):
//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*
Console_log_01-01-2019_08-17-56.txt
File "C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py", line 19, in <module>
main()
File "C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py", line 16, in main
with open(readFile,"r") as file:
FileNotFoundError: [Errno 2] No such file or directory: 'Console_log_01-01-2019_08-17-56.txt'
Process finished with exit code 1
当您查找文件时,您是在整个路径中查找,但是当您打开文件时,您是在引用它,就好像它在本地路径中一样,要么更改当前工作目录
os.chdir(path)
在打开文件之前,或者在打开语句中使用
open(os.path.join(path,filename))
如果您只需要在程序中打开一个文件,我推荐第一种方法;如果您在多个目录中打开多个文件,我推荐第二种方法。
在未来更好地格式化你的问题,stack overflow 有多种工具,使用它们,你也可以看到你的文本看起来如何,确保在发布之前先看一下。使用代码括号作为您的代码,这将帮助任何试图回答的人。
尝试使用 wit open 打开文件时出现文件不存在的错误。
我正在尝试解析一些 txt 文件,在本地工作时它没有问题,但是当我尝试连接到网络文件夹时问题开始了。奇怪的是,它确实看到了文件,但说没有找到。 我指的路径是'//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*'(这个文件夹里全是txt文件。
但我仍然收到此错误: FileNotFoundError:[Errno 2] 没有这样的文件或目录:'Console_log_01-01-2019_08-17-56.txt'
如您所见,它确实看到了所需的文件。 为了得到这个文件,我正在按照以下方式解析分割路径:
readFile = name.split("/")[9].split("\")[1]
因为如果我查看我的文件列表,我会按以下方式查看它们:
['//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-17-56.txt',
拆分后我得到:
Console_log_01-01-2019_08-17-56.txt
但它仍然说找不到文件。
def main():
lines =0
path = '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*'
files = glob.glob(path)
print ("files")
print ('\n')
print(files)
for name in glob.glob(path):
print (path)
readFile = name.split("/")[9].split("\")[1]
print(readFile)
with open(readFile,"r") as file:
lines = file.readlines()
print (lines)
main()
files
['//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-17-56.txt', '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-18-29.txt']
Traceback (most recent call last):
//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*
Console_log_01-01-2019_08-17-56.txt
File "C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py", line 19, in <module>
main()
File "C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py", line 16, in main
with open(readFile,"r") as file:
FileNotFoundError: [Errno 2] No such file or directory: 'Console_log_01-01-2019_08-17-56.txt'
Process finished with exit code 1
当您查找文件时,您是在整个路径中查找,但是当您打开文件时,您是在引用它,就好像它在本地路径中一样,要么更改当前工作目录
os.chdir(path)
在打开文件之前,或者在打开语句中使用
open(os.path.join(path,filename))
如果您只需要在程序中打开一个文件,我推荐第一种方法;如果您在多个目录中打开多个文件,我推荐第二种方法。
在未来更好地格式化你的问题,stack overflow 有多种工具,使用它们,你也可以看到你的文本看起来如何,确保在发布之前先看一下。使用代码括号作为您的代码,这将帮助任何试图回答的人。