即使文件存在也FileNotFoundError

时间:2019-01-23 12:36:02

标签: python-3.x readfile

当尝试使用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:[错误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():         行= 0         路径='//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator / results / Console_Logs / *'         文件= glob.glob(路径)         打印(“文件”)         打印('\ n')         打印(文件)         用于glob.glob(path)中的名称:             打印(路径)             readFile = name.split(“ /”)[9] .split(“ \”)[1]             打印(readFile)             使用open(readFile,“ r”)作为文件:                 行数= file.readlines()                 打印(行) main()

文件

['// 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']

回溯(最近通话最近): //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   在第19行的文件“ C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py”     主要()   文件“ C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py”,主行中的第16行     使用open(readFile,“ r”)作为文件: FileNotFoundError:[错误2]没有这样的文件或目录:'Console_log_01-01-2019_08-17-56.txt'

以退出代码1完成的过程

1 个答案:

答案 0 :(得分:1)

在查找文件时,您将在整个路径中查找文件;但是,在打开文件时,您所引用的文件就像是在本地路径中一样,请使用以下命令更改当前工作目录

os.chdir(path)

在打开文件之前或在open语句中使用

open(os.join.path(path,filename))

如果您只需要在程序中打开一个文件,则我建议采用第一种方法,如果在多个目录中打开多个文件,则建议第二种方法。

为了更好地格式化您的问题,堆栈溢出有多个工具,可以使用它们,您还可以查看文本外观,请确保在发布前先看一下。为您的代码使用代码括号,这将对尝试回答的人有所帮助。