IOError with Python write 但目录存在
IOError with Python write but the directory exists
我正在尝试打开并写入一个文件,该文件可能存在也可能不存在。我有 Windows 7 并且正在使用 Python。我收到 IOError,因为找不到文件。这是我保存文件的代码:
dirBool = os.path.exists(saveDir)
print dirBool
if not dirBool:
os.mkdir(saveDir)
if saveDir == os.path.dirname(newFname):
print 'They are the same'
else:
print 'They are not the same'
print saveDir
print newFname
fileSpace = open(newFname, "w")
在我的代码的另一部分中,我使用 os.path.join(saveDir, fname)
创建了 newFname,其中 fname 是您将在下面的输出中看到的内容。我得到的输出是:
True
They are the same
//itsofs04.itap.purdue.edu/bio_mousevision/Data/skissing/WT vs Fragile X/FXS Paper/16.02.9 4 WT 4 FX VEH vs DGX/16.02.9 CC#028849 Group1B ET#387 pre t/Pupilometry Data_1.2
//itsofs04.itap.purdue.edu/bio_mousevision/Data/skissing/WT vs Fragile X/FXS Paper/16.02.9 4 WT 4 FX VEH vs DGX/16.02.9 CC#028849 Group1B ET#387 pre t/Pupilometry Data_1.20 G-1-G-2-G Drifting 0.0625s Interval_2016-02-09_18-08-04_units_010 Video_pupilometry_1.2_x_y_Area.hdf5
我知道这些名称很长,但这是必需的。您可以看到该目录都存在,并且与新文件将保存到的目录相同。
我得到的错误是:
IOError: [Errno 2] No such file or directory: u'//itsofs04.itap.purdue.edu/bio_mousevision/Data/skissing/WT vs Fragile X/FXS Paper/16.02.9 4 WT 4 FX VEH vs DGX/16.02.9 CC#028849 Group1B ET#387 pre t/Pupilometry Data_1.2\010 G-1-G-2-G Drifting 0.0625s Interval_2016-02-09_18-08-04_units_010 Video_pupilometry_1.2_x_y_Area.hdf5'
到目前为止我尝试过的事情:
- 将正斜杠改为反斜杠
- 只改变一些正斜杠and/or一些反斜杠
- 键入 cast newFname to str
- 删除目录中任何接近 newFname 名称的文件。
我想不出还有什么可以做的,也不知道为什么它会首先抛出这个错误。
在 Windows 中使用网络驱动器时,驱动器必须映射到驱动器号。这可以通过右键单击我的电脑 > 映射网络驱动器来完成。之后,在 open()
的路径中使用映射的驱动器号。
我正在尝试打开并写入一个文件,该文件可能存在也可能不存在。我有 Windows 7 并且正在使用 Python。我收到 IOError,因为找不到文件。这是我保存文件的代码:
dirBool = os.path.exists(saveDir)
print dirBool
if not dirBool:
os.mkdir(saveDir)
if saveDir == os.path.dirname(newFname):
print 'They are the same'
else:
print 'They are not the same'
print saveDir
print newFname
fileSpace = open(newFname, "w")
在我的代码的另一部分中,我使用 os.path.join(saveDir, fname)
创建了 newFname,其中 fname 是您将在下面的输出中看到的内容。我得到的输出是:
True
They are the same
//itsofs04.itap.purdue.edu/bio_mousevision/Data/skissing/WT vs Fragile X/FXS Paper/16.02.9 4 WT 4 FX VEH vs DGX/16.02.9 CC#028849 Group1B ET#387 pre t/Pupilometry Data_1.2
//itsofs04.itap.purdue.edu/bio_mousevision/Data/skissing/WT vs Fragile X/FXS Paper/16.02.9 4 WT 4 FX VEH vs DGX/16.02.9 CC#028849 Group1B ET#387 pre t/Pupilometry Data_1.20 G-1-G-2-G Drifting 0.0625s Interval_2016-02-09_18-08-04_units_010 Video_pupilometry_1.2_x_y_Area.hdf5
我知道这些名称很长,但这是必需的。您可以看到该目录都存在,并且与新文件将保存到的目录相同。 我得到的错误是:
IOError: [Errno 2] No such file or directory: u'//itsofs04.itap.purdue.edu/bio_mousevision/Data/skissing/WT vs Fragile X/FXS Paper/16.02.9 4 WT 4 FX VEH vs DGX/16.02.9 CC#028849 Group1B ET#387 pre t/Pupilometry Data_1.2\010 G-1-G-2-G Drifting 0.0625s Interval_2016-02-09_18-08-04_units_010 Video_pupilometry_1.2_x_y_Area.hdf5'
到目前为止我尝试过的事情:
- 将正斜杠改为反斜杠
- 只改变一些正斜杠and/or一些反斜杠
- 键入 cast newFname to str
- 删除目录中任何接近 newFname 名称的文件。
我想不出还有什么可以做的,也不知道为什么它会首先抛出这个错误。
在 Windows 中使用网络驱动器时,驱动器必须映射到驱动器号。这可以通过右键单击我的电脑 > 映射网络驱动器来完成。之后,在 open()
的路径中使用映射的驱动器号。